java解析Excel获取空的单元格时会报null

java使用POI解析Excel的时候发现对于值为空的单元格的时候,会获取不到

问题:

row = sheet.getRow(i);    //获取某行的数据

为了方便测试出问题:在拿来导入的excel第四个单元格默认是没有填充值的;然后发现在获取的该行的单元格集合里,单元格并不是从0-6,而是在下标为4(即第五个单元格这里出现缺失)

java解析Excel获取空的单元格时会报null_第1张图片

cell = row.getCell(4);   //这里获取单个单元格

下方如果对cell操作的时候,由于上面是没有获取到cell的对象,这里就会出现空指针

cell.setCellType(Cell.CELL_TYPE_STRING); //设置单元格数据类型

注:实际发现并不是所有的值为空的单元格解析都会获取不到,单元格格式问题也会导致这个问题,处理excel不确定性太强,所以可以从代码入手解决

解决:

在获取cell之后对其进行是否为空的判断,如果为空的话,我们就默认通过行对象创建一个缺失的单元格,赋值给cell

cell = row.createCell(4); //部分行会存在空值的单元格缺失情况,此时创建该单元格

你可能感兴趣的:(JavaWeb,java,poi,excel)