poi批量导入ecxel表格里的数据时,最后两列单元格里的数据丢失了。
解决思路:
①debug:发现physicalNumberOfCells代表的单元格数量与表格列数不符,这就意味着最后两列的单元格根本没有读取到。
②查阅资料:发现获取单元格列数使用的是getPhysicalNumberOfCells方法,而该方法读取的是不为空的单元格总列数,恰好导入的表格中有两列为空的单元格,故导致读取单元格与实际不符合。
③解决方案:将获取单元格的方法改为获取最后一个不为空单元格列数的方法:getLastCellNum即可解决问题。
总结:
poi获取列数的两种方法:
①getPhysicalNumberOfCells:获取不为空的单元格的总列数。
②getLastCellNum:获取最后一个不为空的单元格的列数。