Apache poi HSSF返回不正确的物理行号
我正在处理用户给定的Excel文件(.xls)并使用Apache poi HSSF来读取工作表。 Excel实际上包含16行。
- 第十三行是空的。
- 第十四行有数据
- 第十五行是空的
- 第16行有数据
在这种情况下, worksheet.getPhysicalRows()
返回13。
而worksheet.getLastRowNum()
返回16。
并注意,如果我删除第13行, getPhysicalRows()
返回14。
如果我也删除了第16行, getPhysicalRows()
仍然返回14。
有效数据的最后一行根本不被读取。
你有没有遇到这种行为与XLS?
编辑:我不知道这个代码可以帮助这个问题。
excelDocumentStream = new FileInputStream(new File(xlFilePath)); POIFSFileSystem fsPOI = new POIFSFileSystem(new BufferedInputStream(excelDocumentStream)); workbook = new HSSFWorkbook(fsPOI); int numOfRows = workSheet.getPhysicalNumberOfRows(); int lastRow = workSheet.getLastRowNum();