[alibaba/easyexcel]填充图片出现显示问题,生成出的excel文件在WPS软件打开时,图片显示空白

2024-02-21 213 views
3
触发场景描述

使用fill方法进行图片填充,reqVO中有一个是byte数组。

触发Bug的代码
   try (ExcelWriter excelWriter = EasyExcel.write(getOutputStream(response, excelName))
                .withTemplate(excelPath.getPath().concat(tempName)).build()) {
            WriteSheet writeSheet = EasyExcel.writerSheet().build();
            if (CollectionUtil.isNotEmpty(list)) {
                FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
                excelWriter.fill(list, fillConfig, writeSheet);
            }
            excelWriter.fill(reqVO, writeSheet);
            excelWriter.finish();
        } catch (Exception e) {
            e.printStackTrace();
        }
提示的异常或者没有达到的效果

在上述代码中,填充图片出现显示问题,生成出的excel文件在Office软件打开时,图片正常显示,如下: image

在WPS中图片未能正常显示,出现一张空白图,效果如下: image

回答

8

poi版本兼容问题,easyExcel3.2.1中默认引入poi4.1版本,我的项目中被其他依赖强制引入了poi5.*版本; 在重新引入poi4.1版本后该问题解决。

8

如果存在WPS和Office的差异问题,可以尝试切换POI的版本。

6

你好,我也是项目中引用的是poi5.2.2,easyExcel中依赖的是poi4.1.2,,但是我这个不能降poi的版本,有没有解决办法

1

mac的话,把wps更新到最新版本就好了。估计是以前的wps版本不兼容poi5导出的图片,win的wps没试过,不知道行不行。