1、使用String类型导出   定义自己的Converter,不使用默认的StringImageConverter

如果图片路径为空或者图片路径是错误的,返回相应的内容

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.alibaba.excel.util.IoUtils;
import com.njyjz.common.util.Validater;public class MyStringImageConverter implements Converter<String>
{@Overridepublic Class supportJavaTypeKey(){return String.class;}@Overridepublic CellDataTypeEnum supportExcelTypeKey(){return CellDataTypeEnum.IMAGE;}@Overridepublic String convertToJavaData(CellData cellData, ExcelContentProperty contentProperty,GlobalConfiguration globalConfiguration){throw new UnsupportedOperationException("Cannot convert images to string");}// 图片失效处理@Overridepublic CellData convertToExcelData(String value, ExcelContentProperty contentProperty,GlobalConfiguration globalConfiguration)throws IOException{InputStream inputStream = null;try{if(Validater.isEmptyString(value)){return new CellData("图片路径为空");}URL urlValue = new URL(value);// 开启连接URLConnection uc = urlValue.openConnection();// 获取响应状态int statusCode = ((HttpURLConnection)uc).getResponseCode();switch (statusCode){case 200:inputStream = urlValue.openStream();break;default:return new CellData("无法加载图片");}byte[] bytes = IoUtils.toByteArray(inputStream);return new CellData(bytes);}catch (ConnectException exception){return new CellData("无法加载图片");}catch (FileNotFoundException fileNotFoundException){return new CellData("无法加载图片");}finally{if (inputStream != null){inputStream.close();}}}}

评论区有小伙伴说CellDataTypeEnum.IMAGE 没有

引入下方阿里的依赖就行。

<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.7</version>
</dependency>

2、更改图片字段注解

@ExcelProperty(value = "扫描图像", index = 0, converter = MyStringImageConverter.class)
private String fileUrl;

3、导出样例

使用EasyExcel导出图片及异常处理相关推荐

  1. easyexcel导出图片到具体excel具体位置并设置大小

    提示:easyexcel模板导出,并导出图片到具体位置 文章目录 前言 一.easyexcel源码中填充图片并设置大小的方法 二.改造后的代码 前言 最近在做物料工艺单,用到easyexcel通过模板 ...

  2. EasyExcel导出图片

    在excel里导出图片: 1.数据实体 import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.anno ...

  3. 阿里easyexcel导出图片 图片路径失效excel写出空白或默认图片 导出多图片解决

    1.1 使用String类型导出   定义自己的Converter,不使用默认的StringImageConverter public class MyStringImageConverter imp ...

  4. R先生一步步教你用EasyExcel导出包含多图片的Excel

    R先生一步步教你用EasyExcel导出包含多图片的Excel 光与光之间的黑暗,路人永不得知 书接上文说到,R先生之前有写过一篇用EasyExel导出包含图片的Excel文件,由于在官方文档并没有找 ...

  5. 教你用EasyExcel导出包含图片列的excel

    教你用EasyExcel导出包含图片列的excel 前情概要 众所周知,导入及导出功能在后台服务中很常见,博主目前参与的这个项目就有多Excel的导入和导出,但是在我昨天完成需求的时候,突然发现项目里 ...

  6. easyPOI和easyExcel对图片的导出

    导出带图片的excel 前言 Apache poi.jxl 的缺陷 阿里出品的 EasyExcel EasyExcel 解决了什么 easyPOI easyExel 前言 关于导出 Excel 文件, ...

  7. 知识积累:EasyExcel导出Excel带中文水印,中文乱码处理,JDK8 jwt.font中文乱码解决方案

    最近项目中,有个需求是将我们系统导出的Excel增加水印设置. EasyExcel导出带水印Excel类 /*** created by etc.* EasyExcel导出带水印类* @author: ...

  8. EasyExcel 导出

    文章目录 1.EasyExcel 导出 1.1. Response流导出单sheet页 1.1.1 response流处理(防止中文乱码): 1.1.2 根据excel映射对象导出(适合结构化数据:列 ...

  9. 把view或者div绘制 canvas ,导出图片功能实现完整源码附效果图(兼容H5和小程序)

    先看下效果图:(上面灰色块内的用div和CSS写出来的,然后绘制到canvas) 实现此功能需要使用到一个微信小程序的插件,插件官方文档地址: wxml-to-canvas | 微信开放文档 本博客代 ...

最新文章

  1. Swift语言指南(十)--字符串与字符
  2. Node.js技术手册
  3. 计算机系统最大的加速能力,系统加速我用Windows系统四大自带工具 -电脑资料
  4. 多项式输出-Java
  5. DOCKER存储驱动之DEVICE MAPPER简介
  6. 十大最常见的Java性能问题
  7. 终于有人将数据中台讲清楚了,原来根本不算啥
  8. 乐pad平板电脑_2020年双十一高性价比平板电脑推荐(包含苹果ipad,安卓华为,微软surface)...
  9. centOS6.4部署svn
  10. python爬虫数据分析案例-Python 爬虫和数据分析实战
  11. intouch写数据到MySQL_如何将intouch数据插入到SQL数据库
  12. 点菜系统软件源码(点菜软件源码分享)
  13. matlab符号函数求解方程组
  14. FFT算法实现——python
  15. MOEA/D学习记录
  16. 在div中加本地html,div加载另一个HTML页面
  17. 4月5号-4月11号
  18. Win11新电脑开机怎么跳过登录microsoft账户?
  19. [数论][组合数学]微信群
  20. 简要说明中国大学生篮球状况和未来发展前景(300字

热门文章

  1. 手把手系列!大规模预训练语言模型
  2. Java中File文件类之文件过滤器
  3. Linux下QProcess不产生finished信号、waitforfinished阻塞超时【defunct进程】
  4. 嵌入式linux培训教程,嵌入式Linux开发学习之Linux文件系统学习
  5. 齿轮-转子-轴承系统动力学matlab程序代码
  6. 电池战争:“新石油”与中欧分野
  7. html 文档在线查看,在网页中在线查看文档(doc、docx 、xls 、xlsx、 pdf 、swf )
  8. 视频编码基础:I帧、P帧 和 B 帧
  9. 【华为联机对战服务】如何保存及查看联机对战SDK日志?
  10. 带鱼屏这种极致体验的电脑显示器也“飞入寻常百姓家”