poi 移除图片_Excel中读取图片的坑-poi-2007

当使用POI解析包含图片的Excel时,遇到NullPointerException。问题源于某些图片被解析为CMYKJPEGImageReader,导致getImageMetadata()返回null。解决办法是移除Excel中的图片,避免此类异常。
摘要由CSDN通过智能技术生成

现象:

在web页面导入excel文件,excel中包含图片,在后台进行解析的时候,有时候会报NullPointerException。

问题排查:

由于POI里面并没有把这里的错误信息输出到日志文件,在服务器上报错后,从后台日志文件中根本看不出什么。

在本地调试的时候,又没有报错,搞得我们一直以为是临时文件的没有正常读取导致的,而且我们把tomcat的temp目录删除后重启,竟然神奇又不报错了。

哪知道昨天客户现场又报这个错,但是我刚刚删除了temp目录,重启了tomcat啊!!!受不了,我死活都要找到原因,说干就干,把线上的temp目录覆盖我本地的temp目录,

本地环境启起来,拿那个现场出错的excel一试,错误没有辜负我的期望,如期而遇,控制台错误日志如下(吐槽POI,这个错误日志竟然只输出控制台):

java.lang.NullPointerException

at org.apache.poi.ss.util.ImageUtils.getResolution(ImageUtils.java:117)

at org.apache.poi.ss.util.ImageUtils.getImageDimension(ImageUtils.java:79)

at org.apache.poi.ss.util.ImageUtils.setPreferredSize(ImageUtils.java:141)

at org.apache.poi.xssf.usermodel.XSSFPicture.getPreferredSize(XSSFPictu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值