[alibaba/easyexcel]excle填充图片时会报 Can not find 'Converter' support class byte[]

2024-05-10 324 views
9

版本是 3.1.1

//目标excle String fileName = "D:\123-fill.xlsx";

//填充excle中 客户签名字段evaluatorSign 是一张图片 ExcelWriter excelWriter = EasyExcel .write(fileName) .registerWriteHandler(new ImageCellWriteHandler(imageRowIndexs)) .withTemplate(inputStream).build();

Map<String, Object> param = new HashMap<>(); //备注这里的evaluatorSign 是客户签名的一张图片 这里不做具体地址展示 使用XXX代替 getImageFromNetByUrl 返回的类型是byte[] param.put("evaluatorSign", getImageFromNetByUrl("xx")); excelWriter.fill(param, writeSheet); excelWriter.finish();

image image

这样一来就会报错 Can not find 'Converter' support class byte[]

回答

4

找不到对应的类型转换器 就会报错 Can not find 'Converter' support class byte[] ,实际上转换器Map中是有ByteArrayImageConverter这个类的

3

请问解决了吗?

9

你也遇到了嘛,解决了,在使用前我自定义了转换器

3

WriteSheet writeSheet = EasyExcel.writerSheet().registerConverter(new ByteArrayImageConverter()).build(); I register a DEFAULT ByteArrayImageConverter manually,then it works.

8

尝试使用3.3.1版本 如果仍有问题可以提供完整复现代码

5

我用也遇到同样的问题,我用的版本是3.3.2,也换过之前的版本,依然不行 代码如下 image image 报错信息 image 明明存在byte[]对应的转换器,为什么会匹配不到呢? image

上面说的各位说自定义转换器的方法,我也试了,还是一样的报错信息