使用Hutool插入图片到Excel

pom引入

    <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.3</version><relativePath /> <!-- lookup parent from repository --></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency><!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.6.3</version></dependency></dependencies></project>

实现

package com.example.demo;import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.example.demo.freemarke.TestBean;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.Drawing;
import org.apache.poi.ss.usermodel.Sheet;
import org.junit.jupiter.api.Test;import java.util.List;/*** @author ZhiGang.Jie* @date 2022/1/4 17:10*/
public class TestBeanToExcel {@Testpublic void writePicTest() {TestBean bean1 = new TestBean();bean1.setName("张三");bean1.setAge(22);bean1.setPass(true);bean1.setScore(66.30);bean1.setExamDate(DateUtil.date());bean1.setImgPath("./resume.png");TestBean bean2 = new TestBean();bean2.setName("李四");bean2.setAge(28);bean2.setPass(false);bean2.setScore(38.50);bean2.setExamDate(DateUtil.date());bean2.setImgPath("./user.png");List<TestBean> rows = CollUtil.newArrayList(bean1, bean2);// 通过工具类创建writerExcelWriter writer = ExcelUtil.getWriter("./writeBeanTest.xlsx");
// 合并单元格后的标题行,使用默认标题样式writer.merge(5, "一班成绩单");
// 一次性写出内容,使用默认样式,强制输出标题writer.write(rows, true);for (int i = 0; i < rows.size(); i++) {//读取图片byte[] pictureData = FileUtil.readBytes(rows.get(i).getImgPath());//写入图片writePic(writer, 5, i+2, pictureData, HSSFWorkbook.PICTURE_TYPE_JPEG);}
// 关闭writer,释放内存writer.close();}/*** @param writer* @param x           单元格x轴坐标* @param y           单元格y轴坐标* @param pictureData 图片二进制数据* @param picType     图片格式*/private void writePic(ExcelWriter writer, int x, int y, byte[] pictureData, int picType) {Sheet sheet = writer.getSheet();Drawing drawingPatriarch = sheet.createDrawingPatriarch();//设置图片单元格位置ClientAnchor anchor = drawingPatriarch.createAnchor(0, 0, 0, 0, x, y, x + 1, y + 1);//随单元格改变位置和大小anchor.setAnchorType(ClientAnchor.AnchorType.MOVE_AND_RESIZE);//添加图片int pictureIndex = sheet.getWorkbook().addPicture(pictureData, picType);drawingPatriarch.createPicture(anchor, pictureIndex);}
}

效果

hutool excel 生成包含图片相关推荐

  1. 图文并茂(Excel生成有图片的报表)

    //生成统计图方法 DataSet ds=OracleDAL.DbHelperOra.Query("select  year||month A1, FESJSSL B1 from feysf ...

  2. HuTool工具生成带图片二维码

    首先是依赖文件: <!--糊涂工具类--><dependency><groupId>cn.hutool</groupId><artifactId& ...

  3. 当Excel文件中包含图片时转pdf

    当Excel文件中包含图片时转pdf excel文件转pdf时,有很多工具可以使用,但是我在实际运用过程中发现,如果excel文件包含图片时,并不能是吸纳很好的效果.我的解决思路是:excel中的非图 ...

  4. EasyExcel根据自定义模板导出Excel(包含图片、表格)

    使用EasyExcel根据模板导出excel,包含图片.表格 提示:其实使用EasyExcel根据模板导出一个excel并不难,难点在于指定图片的位置 文章目录 使用EasyExcel根据模板导出ex ...

  5. 【zip导出】下载导出包含图片,excel,pdf的zip压缩包

    工具类 package com.sapit.compensation.moudle;import java.awt.Color; import java.awt.Rectangle; import j ...

  6. 蓄力-利用POI进行excel的导入导出(包含图片)

    这里写自定义目录标题 利用POI进行excel的导入导出 引入的jar包 excel导入 主方法: 将excel里面的图片转成数据 xls格式 xlsx格式 将图片数据转成字节流的方式传输到FTP服务 ...

  7. PHP生成带图片的Excel

    最近项目有这样一个需求,要导出带有设备二维码的Excel列表.这个功能此前还没有做过,于是百度了一番.网上的解决方法大多数都可以用,但是都没有封装成函数,复用性不高,于是我这里做了一下封装.具体看代码 ...

  8. 读取Excel内容生成PNG图片

    读取Excel内容生成PNG图片 1.需要的jar包 2.需要的pojo类 3.核心代码 本文转载自 心淡人也懒 的博客 https://blog.csdn.net/u014730287/articl ...

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

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

最新文章

  1. java实型常量用十六进制表示_[Java入门笔记] Java语言基础(二):常量、变量与数据类型...
  2. @angular/compiler-cli@4.3.6 requires typescript@'=2.1.0 2.4.0' but 2.5.2 was found instead.
  3. 编译glib-1.2.20-r5出错./libtool: line 297
  4. AngularJS——第3章 指令
  5. 两点感悟:关于教育与未来
  6. 如果没有英语,计算机,如果有一天没有电脑(英语作文)
  7. jQuery开发之windows边栏小工具开发(Gadget development)- wi...
  8. 什么舱位_飞机的舱位究竟是怎么一回事儿
  9. python操作mysql批量插入
  10. ecshop模板构建说明
  11. yml文件读取方式_1
  12. 期货期权各个品种详情
  13. 广州奶茶饮品培训学校哪家好?广州学奶茶技能要多少钱?
  14. 误删通话记录?这几个方法能恢复
  15. 2022.11.27 第10次周报
  16. WARNING: One of the plugins you are using supports Java 8 language features. To try the support buil
  17. 蔡明亮 “水”三部曲
  18. JavaScript Promise迷你书(中文版)
  19. 国外开源IoT平台Thingsboard社区版本(V3.3.2)在Win10环境下进行源码编译及运行指南
  20. 联邦学习开源框架简介

热门文章

  1. 北航操作系统课程-20200511课堂小测-操作系统安全
  2. 定点运算,浮点运算,算术逻辑单元
  3. 轴向柱塞泵体加工生产线专机及主要设备多头钻床及攻丝机床液压系统设计(论文 CAD图纸 液压系统图 工序卡)
  4. 腾讯通RTX无法正常拉取组织架构的解决方法
  5. 成功上岸北大!总分418分,数学150分,经验贴+方法论
  6. 首旅如家打造中高端品牌璞隐酒店,计划五年实现100家门店
  7. 这一次,我们重新定义微信连WiFi!
  8. 一分钟学会!PMP培训机构怎么选更好?
  9. 电镀废水处理工艺 离子交换树脂回收镍 硫酸镍经济效益越来越高 电镀废水如何获利 含重金属废水处理工艺
  10. 通用人工智能+智能车舱,商汤绝影带来怎样一番景象?