poi下载地址:https://archive.apache.org/dist/poi/release/bin/
追加poi的bug(至少我认为是属于bug,哈哈),详情如下:
poi坑一:
使用poi操作excel时,肯定会用到获取最大行数getLastRowNum()这个方法,但是这个方法有问题,比如excel中有的行编辑过或者删除过,使用上面方法时,仍然能获取到这个行。肉眼看excel根本看不出来有任何内容,但是程序一执行就会报错。我研究了半天也看不出来excel哪些行存在问题。
在网上搜了下,getLastRowNum()这个方法的确有bug,也搜到了部分网友的解决方案,不过自己看着不太适应,感觉逻辑上不太好。于是自己又改造了一下,发不出来供用到的网友做参考。(备注:由于时间紧张,未考虑执行效率问题)
代码如下,原本代码是在网上抄的别人的,不知道哪个帖子了,也没办法将该问题告知那位网友了。
为了解决getLastRowNum()问题,我修改的内容是增加了参数 m。
// 遍历所有的列
List<Object> li = new ArrayList<Object>();
int m = row.getFirstCellNum();
for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y&#