我检查了一些在线资源,也许我是盲人,但我还没有找到答案。
我正在上传一个文件,将其转换为流,并将其输入 SpreadSheetGear。现在,我需要遍历每一行并读取数据(这很好)。到目前为止,这是我的代码:
IWorkbook wb = Factory.GetWorkbookSet().Workbooks.OpenFromStream(file.InputStream);
IWorksheet ws = wb.ActiveWorksheet;
IRange cells = ws.Cells;
for (int i = 2; i <= cells.RowCount; i++)
{
//Code for every row
for (int x = 1; x <= cells.ColumnCount; x++)
{
//Code for every column
}
}
这是问题所在:cells.RowCount 等于1048576,这显然是 Excel 行数的上限。是否有调用 SpreadSheetGear 来返回有数据的行数?我不能使用固定数量,因为提供的电子表格可能有 500 到 2,000 行。
我知道 SpreadSheetGear 可能没有被广泛使用,但我想我还是会在这里碰碰运气。
干杯!
编辑 :
在有人说使用 while 循环之前,一行可能是空的,因此检查空字符串有点麻烦。