Gibt es einen SAX-Weg, um eine Schleife durch OpenXML-Zeilen?
Ich bin Parsen einer großen Datei mithilfe der SAX-Ansatz angeboten:
Parsen und Lesen von Großen Excel-Dateien mit dem Open XML SDK
Dies ist meine geänderte version (nur die Nummer der Zeile, für die Einfachheit)
using (SpreadsheetDocument myDoc = SpreadsheetDocument.Open("BigFile.xlsx", true))
{
WorkbookPart workbookPart = myDoc.WorkbookPart;
WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
OpenXmlReader reader = OpenXmlReader.Create(worksheetPart);
String rowNum;
while (reader.Read())
{
if (reader.ElementType == typeof(Row))
{
if (reader.HasAttributes)
rowNum = reader.Attributes.First(a => a.LocalName == "r").Value
}
}
}
Das problem ist, dass diese Schleife durch jedes Element/Zelle/Spalte/Dingsbums und nur dann tätig wird, wenn das element den Typ Zeile.
Gibt es einen SAX-Weg-Schleife nur durch die Reihen und nicht jeder Artikel im Arbeitsblatt?
Dank,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Schlüssel ist, verwenden Sie die
Skip()
undReadNextSibling()
Methoden des Lesers...