C#, Schreiben XLSX mit OpenXmlWriter und Open XML SDK

In C# das folgende Programm kompiliert und läuft, aber es muss nicht alles schreiben, was in der excel-Ausgabe-Datei.

Ich habe es zu arbeiten, ohne die OpenXmlWriter aber ich fing an zu laufen, aus dem Speicher, so dass ich zum wechseln der OpenXmlWriter nach dieser http://blogs.msdn.com/b/brian_jones/archive/2010/06/22/writing-large-excel-files-with-the-open-xml-sdk.aspx

class Program
{
    static void Main(string[] args)
    {
        File.Copy("book.xlsx", "output.xlsx", true);
        WriteValuesSAX("output.xlsx", 10, 10);
    }

    static void WriteValuesSAX(string filename, int numRows, int numCols)
    {
        using (SpreadsheetDocument myDoc = 
               SpreadsheetDocument.Open(filename, true))
        {
            WorkbookPart workbookPart = myDoc.WorkbookPart;
            WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();

            OpenXmlWriter writer = OpenXmlWriter.Create(worksheetPart);

            Row r = new Row();
            Cell c = new Cell();
            CellValue v = new CellValue("Test");
            c.AppendChild(v);

            writer.WriteStartElement(new SheetData());
            for (int row = 0; row < numRows; row++)
            {
                writer.WriteStartElement(r);
                for (int col = 0; col < numCols; col++)
                {
                    writer.WriteElement(c);
                }
                writer.WriteEndElement();
            }
            writer.WriteEndElement();

            writer.Close();
        }
    }
}

Warum nicht alles schreiben, was ausgegeben?

Können Sie teilen Sie Ihre code to close the reader and writer and replace the original worksheet part with the replacement part.?
Ich zog, dass von der ursprünglichen Quelle, wie ich konnte nicht Sinn machen, warum er da war.
Weil es aktualisiert die Werte.
Ich möchte nicht, die Werte zu aktualisieren, möchte ich das schreiben von Werten. Aber ich habe es funktioniert durch das hinzufügen dieser writer.WriteStartElement(new Worksheet()); oben new SheetData()
Dieses tutorial zeigt Ihnen, wie Sie openxmlwriter von Grund auf, es sind u. A. das schreiben Zahl Typ und sharedstring Typ codeproject.com/Articles/877791/...

InformationsquelleAutor Snæbjørn | 2012-05-08

Schreibe einen Kommentar