我查了几个在线资源,也许我是瞎子,但我还没有找到答案。
我正在上传一个文件,将其转换为一个流,并将其输入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,这显然是对行数的上限。是否有一个对SpreadSheetGear的调用返回有数据的行数?我不能使用固定的金额,因为电子表格提供的任何东西都可以有500到2000行。
我知道SpreadSheetGear可能没有那么广泛的使用,但我想无论如何我还是会碰碰运气的。
干杯!
编辑:
在有人说“使用while循环”之前,行可能是空的,所以检查空字符串有点麻烦。
发布于 2011-06-28 15:56:10
回答我自己的问题,总是这样。
总之,最终找到了IWorksheet.UsedRange,它只返回使用过的单元格。
https://stackoverflow.com/questions/6509291
复制相似问题