我从Interop库切换到Open
XML,因为我需要读取大型Excel文件.在此之前,我可以使用:
worksheet.UsedRange.Rows.Count
获取工作表上包含数据的行数.我使用这些信息来制作进度条.在OpenXML中,我不知道如何获得有关工作表的相同信息.我现在拥有的是这段代码:
using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(path,false))
{
WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
SheetData sheetData = worksheetPart.Worksheet.Elements().First();
int row_count = 0,col_count;
// here I would like to get the info about the number of rows
foreach (Row r in sheetData.Elements())
{
col_count = 0;
if (row_count > 10)
{
foreach (Cell c in r.Elements())
{
// do some stuff
// update progressbar
}
}
row_count++;
}
}