excel导入时,总是报java.lang.NullPointerException

原因之一:导入无法获取正确行数 getPhysicalNumberOfRows() 不正确的原因

代码

java导出excel报网络错误呢 java导入excel记录报错数据_数据

报错信息

java导出excel报网络错误呢 java导入excel记录报错数据_excel导入_02

原因

在excel导入模板(项目中的模板)中,如果不在导入数据单元格范围以外的单元格也设置了格式:比如调整了行高及列宽,边框单元格属性等,你看着没有任何数据,但是实际上这些在数据范围外的单元格已经不是默认的格式了,所以获取的行数或列数将不正确。

了解

getPhysicalNumberOfRows()获取的是物理行数,也就是不包括那些空行(隔行)的情况。

解决

方案一:选中有效数据区域外的可疑单元格–右键删除–保存即可

方案二:excel导入公共解析方法添加判断:行为无效行时即因格式调整而导致解析成物理行的判断是否为空

如下图:

java导出excel报网络错误呢 java导入excel记录报错数据_右键_03

注意!!!

excel导入模板中,即在Excel表格中如果不在有效数据范围内的行列单元格千万不要去乱动修改!