最近又遇到了之前的错误,自己也是有过经验,所以很快就解决了。
但是发现一起来的同学并没有解决,所以在此总结一下POI这个问题
希望能帮助到跟我问题相同的选手。
遇到的问题大都是cell.setCellValue的时候会报错,空指针异常。
那么我们就要思考,这个空指针到底是哪里的错误。
昨天同学就问我为什么他的数据是空,而debug的时候明明有值。
很明显,他陷入了一个误区,他认为是他的数据报的空指针,所以他一直没有解决问题。
其实我们的数据用debug会很明显的看到,如果有值就是有值,那么空指针就是出在cell上
解决方法也很简单,因为你的cell一定是通过
row.getCell(i)来获取的,所以只需要在下面判断一下
if(cell == null){ cell = row.createCell(i) }
这样就可以了。
楼主其实很早就解决了问题,但是一直不明白为什么cell会空。直到昨天
感觉好像明白了原因,但是也不是很笃定,如有错误望指正。
首先POI是从0开始,位置一定不要错了,不然就会取不到这个单元格这是一点
其次是因为,如果你使用Delete删除了excel模板中的内容,那POI也是取不到单元格的。
如果大家还有什么其他的情况,欢迎留言交流。
------满院落花帘不卷,断肠芳草远。