日常项目中使用easyExcel 但是easyExcel不支持带图片的excel导入,后面通过网络查找,再加上询问技术经理终于解决,大前提是图片在excel中不是嵌入的,需要悬浮才可以读取。代码如下
 引用jar包为
   <!--需要2.10版本及以上不然excel缺少工具类-->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.11.0</version>
    </dependency>
    <dependency>
        <groupId>com.github.stupdit1t</groupId>
        <artifactId>poi-excel</artifactId>
        <version>3.0.1</version>
    </dependency>

</dependencies>

业务代码主要为

PoiResult<ProductTurnOrderPerfectQualityImportExcelVo> parse = ExcelHelper.opsParse(ProductTurnOrderPerfectQualityImportExcelVo.class)
            .from(file.getInputStream())
            // 指定数据区域
            .opsSheet(0, 1, 0)
            // 自定义列映射
            .opsColumn()
            // 强制输入字符串, 且不能为空
            .field("A", "cumulativeSales", "累计销量").asInt().done()
            .field("B", "cumulativeCustomerComplaints", "累计客诉量").asInt().done()
            .field("C", "cumulativeCustomerComplaintRate", "累计客诉率(%)").asBigDecimal().done()
            .field("D", "reciewScore", "reciew评分").asBigDecimal().done()
            .field("E", "cumulativeReturns", "累计退货量").asInt().done()
            .field("F", "cumulativeReturnRate", "累计退货率(%)").asBigDecimal().done()
            .field("G", "questionCategoryOne", "问题分类_1").asString().done()
            .field("H", "questionCategoryTwo", "问题分类_2").asString().done()
            .field("I", "questionCategoryThree", "问题分类_3").asString().done()
            .field("J", "image1", "图片").asImg().done()
            .field("K", "image2", "图片").asImg().done()
            .field("L", "image3", "图片").asImg().done()
            .field("M", "image4", "图片").asImg().done()
            .field("N", "image5", "图片").asImg().done()

            .done()
            .callBack((row, index) -> {
                // 行回调, 可以在这里改数据
                System.out.println("当前是第:" + index + " 数据是: " + row);
            })
            .parse();

映射对象中图片字段为

@ExcelProperty(value = "图片_5") private byte[] image5;

最后就是通过OSS工具上传到阿里云服务器,结束。

业务代码中抛出的异常为自定义异常,可以自己创建或直接打印在控制台。