我在使用NPOI的时候,发现我使用XSSFWorkbook打开的文件中的数据与Excel中数据并不相同,如Excel中我的数据占到了第七行,但是XSSFWorkbook中的数据的FirstRowNum = -1,LastRowNum = 4,LastRowNum时常为4,不管Excel数据有多少行,
using (FileStream fs = File.Open(path, FileMode.Open)) //path:读取文件的路径
{
workbook = new XSSFWorkbook(fs);
}
for (int i = 0; i < objs.count; i++)
{
grids = objs.grids[i];
string sheetName = grids.name;
worksheet = workbook.GetSheet(sheetName);
row = worksheet.GetRow(grids.row); //这边 GetRow方法 总是会返回null,而我在计算行的时候 这一行总是有值的
cell = row.GetCell(grids.col);
cell.SetCellFormula(grids.gs);
cell.SetCellValue(grids.gs);
}

后来我打开Excel源文件,发现只要在Excel中保存一下 以上代码就顺利运行
我确信路径是对的 由于我操作的Excel都是工具生成的,我无法更改源文件,想问下 这种问题是什么原因?有没有什么解决思路?