是否有 SAX 方式来循环 OpenXML 行?
我正在使用以下提供的 SAX 方法解析一个大文件: 使用 Open XML SDK 解析和读取大型 Excel 文件
这是我的修改版本(为了简单起见,仅获取行号)
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
}
}
}
问题是,这会循环遍历每个item/cell/column/whatnot 仅当元素类型为 Row 时才起作用。
是否有一种 SAX 方法可以仅循环遍历行而不是工作表中的每个项目?
谢谢,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
关键是使用阅读器的
Skip()
和ReadNextSibling()
方法...The key is to use the
Skip()
andReadNextSibling()
methods of the reader...