POI:单元格的行数错误forms方法getPhysicalNumberOfCells

我正在使用POI Java库来读取Excel。

我的Exel有一个由8列组成的简单结构。

问题是,通过方法getPhysicalNumberOfCells读取列长度,我得到每行不同的数字。

问题是,getPhysicalNumberOfCells具有不同的意思,我在想什么。

getPhysicalNumberOfCells返回具有内容的行中的单元格的数量。

实际上,POI为每行存储的只是添加到exel中的数据,例如,如果数据在0,3,5列中,getPhysicalNumberOfCells将始终返回3,因为3是“填充”单元的数量。

为了达到获得连续的单元格逻辑数的目的,我们使用:

getLastCellNum() 

根据惠特文档,这个方法获取最后一个单元格的索引。 这个值是BY ONE增加的,所以在上面的例子中,最大索引5的最大值是6 ..我认为这样做是为了简化对rowcell的迭代。

而且,还有一种方法

 getLastCellNum 

显示第一个细胞索引。

从官方文档启发的一个例子:

  short minColIdx = row.getFirstCellNum(); short maxColIdx = row.getLastCellNum(); for(short colIdx=minColIdx ; colIx<maxColIdx ; colIdx++) { Cell cell = row.getCell(colIx); //get value of cell 

}