【发布时间】:2011-09-29 04:44:55
【问题描述】:
我正在使用以下提供的 SAX 方法解析一个大文件: Parsing and Reading Large Excel Files with the Open XML SDK
这是我的修改版本(为简单起见只获取行号)
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
}
}
}
问题在于,这会循环遍历每个项目/单元格/列/whatnot,并且仅在元素类型为 Row 时才起作用。
是否有一种 SAX 方式只循环遍历行而不是工作表中的每个项目?
谢谢,
【问题讨论】:
标签: c# excel openxml sax openxml-sdk