龙空技术网

坑!poi- excel导入用 getLastRowNum() 获取行数不正确

代码老邱 69

前言:

而今同学们对“java获取excel行数”都比较关怀,看官们都想要剖析一些“java获取excel行数”的相关资讯。那么小编也在网摘上网罗了一些关于“java获取excel行数””的相关资讯,希望看官们能喜欢,看官们快快来了解一下吧!

// 获得总记录数(行数)		int lastRowNum = sheet.getLastRowNum();		int rowNum=sheet.getPhysicalNumberOfRows(); // 获得总字段数(列数)		int columnCount = sheet.getRow(0).getPhysicalNumberOfCells();

java - poi - excel导入用 getLastRowNum() 获取行数不正确,拿到的行数总是比实际的多,但是打开excel表格看却又没有那么多行数据

实际527条数据

原因:我们对不在导入数据单元格范围以外的单元格也设置了格式:比如调整了行高及列宽,边框单元格属性等,你看着没有任何数据,但是实际上这些在数据范围外的单元格已经不是默认的格式了,所以获取的行数或列数将不正确。(或者说之前有数据,后来把这一行数据删掉了,但是这一行表格的样式还在,只是你看不到罢了,你以为是没有的。“泪奔啊!!!!!”)

读取出来多了十几条

解决方法:

1.选中有效数据区域外的可疑单元格–右键删除–保存即可。

2.或者说,在导入之前做一个判断,只要关键的ID列没有那就表示这一行都是空数据,用continue; 跳出即可。

“在Excel表格中如果不在有效数据范围内的行列单元格千万不要去乱动修改,还有,遇到问题多查资料,千万不要自己盲目的找BUG(来自一个程序员菜鸟的忠告)”

标签: #java获取excel行数