关于优化,及项目中遇到的问题-03

1.读取excel 若存在空行或列,会导致后面的数据无法读取到。如:

中间存在空列,导致仓库无法读取出来。

解决方式:

POI 2种获取Cell方式 ,

1:getPhysicalNumberOfCells()方式 需要连续不空列的情况,无法读取后面空列的数据。

2:getLastCellNum() 方式 获取最后一列不为空的数据,可以获取到仓库信息。(获取最后一列的列数)

getLastRowNum () ---(如果sheet中一行数据都没有则返回-1,只有第一行有数据则返回0,最后有数据的行是第n行则返回 n-1)

getPhysicalNumberOfRows()  ----(以行为先) --获取有记录的行数,即:最后有数据的行是第n行,前面有m行是空行没数据,则返回n-m;

读取行优先使用getPhysicalNumberOfRows()方式,

读取列可以用getPhysicalNumberOfCells()或者getLastCellNum(),但是中间有空列需要用getLastCellNum()方式,不然无法读取后面数据。

getPhysicalNumberOfCells()  返回的为 12-5 =7;(size = 总列数-前面存在的列数)

获取有记录的行数,即:最后有数据的行是第n行,前面有m行是空行没数据,则返回n-m;

自古英雄出炼狱,从来富贵入凡尘。
原文地址:https://www.cnblogs.com/yunliu0603/p/10870986.html