Apache POI处理EXCEL中的图片

1  背景

最近做需求的时候需要做一个导入的功能,通过调研一些java导入的第三方jar包,最后选择了阿里的easyExcel,按照约定的规范能够简单快速的处理excel中的信息,通过@ExcelProperty注解和表头对应解析出excel的信息,使用的过程中发现了两个问题。

  1. 第一个是如果excel中某一行完全是空行的话,excel会直接跳过这一行信息(不知道为什么要这么设计,对于某些业务来说带来一定的不方便性。)
  2. easyExcel不支持导入图片的信息,完全处理不了图片的信息。在github上也得到了回答,不支持处理图片信息

2  Apache Poi实践

为了处理图片信息,后面在优化的过程中选择用poi处理excel的图片信息,这里做个demo的总结。

public void saveImg(InputStream inputStream) throws Exception {
        Map<String, List<PictureData>> pictureMap = ExcelUtil.getWorkbook(inputStream);

        Object[] key = pictureMap.keySet().toArray();
        for (int i = 0; i < pictureMap.size(); i++) {
            // 获取图片索引
            String picIndex = key[i].toString();
            // 获取图片流
            List<PictureData> pictureDataList = pictureMap.get(picIndex);
            if (CollectionUtils.isNotEmpty(pictureDataList)) {
                pictureDataList.forEach(
    
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值