当前位置: 首页 > news >正文

POI操作EXCEL插入图片


文章目录

    • POI操作EXCEL插入图片


POI操作EXCEL插入图片

依赖

<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version>
</dependency>

使用HSSFPatriarch来将图片写入EXCEL中

BufferedImage bufferImg;//图片
ByteArrayOutputStream byteArrayOut = null;
try {// 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArraybyteArrayOut = new ByteArrayOutputStream();//将图片读到BufferedImageInputStream resource = Thread.currentThread().getContextClassLoader().getResourceAsStream(imageName);if(resource == null){throw new BusinessException("%s资源不存在",imageName);}bufferImg = ImageIO.read(resource);// 将图片写入流中ImageIO.write(bufferImg, "png", byteArrayOut);// 利用HSSFPatriarch将图片写入EXCELHSSFPatriarch patriarch = sheet.createDrawingPatriarch();// 定义单元格位置HSSFCreationHelper creationHelper = workbook.getCreationHelper();HSSFClientAnchor clientAnchor = creationHelper.createClientAnchor();clientAnchor.setCol1(columnNo);clientAnchor.setRow1(rowNo);// 插入图片  PICTURE_TYPE_PNG是图片的类型HSSFPicture picture = patriarch.createPicture(clientAnchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));picture.resize(2.5);} catch (IOException e) {LOGGER.error("图片写入excel失败", e);
} finally {if (byteArrayOut != null) {try {byteArrayOut.close();} catch (IOException e) {LOGGER.error("关闭流失败", e);}}}

注:在将图片添加到工作簿中时,必须将其存储为字节数组


参考文献

  • POI操作EXCEL插入图片

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 两数之和、三数之和、四数之和
  • PTA矩阵转置
  • Vue|插件
  • 2024双11买什么东西比较好?2024双十一好物推荐
  • 【Qt】背景介绍
  • 6-1 jmu-Java-04面向对象进阶-01-接口-匿名内部类ActionListener
  • SQL Server2012保姆安装教程----带你快速上手数据库创建
  • 通过service访问Pod
  • JavaScript 内存管理
  • 1.4 边界值分析法
  • ECharts的特点
  • Python中set的用法详解
  • 【2024W32】肖恩技术周刊(第 10 期):太阳神鸟
  • HT8693 10W防破音单声道D类音频功放 9W单声道AB类音频功放
  • Maven配置及使用
  • 【Leetcode】101. 对称二叉树
  • 2017前端实习生面试总结
  • js操作时间(持续更新)
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • Odoo domain写法及运用
  • opencv python Meanshift 和 Camshift
  • REST架构的思考
  • SpringCloud集成分布式事务LCN (一)
  • Web设计流程优化:网页效果图设计新思路
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 编写符合Python风格的对象
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 服务器之间,相同帐号,实现免密钥登录
  • 前端技术周刊 2019-02-11 Serverless
  • 数据仓库的几种建模方法
  • 算法之不定期更新(一)(2018-04-12)
  • 用Canvas画一棵二叉树
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • ​如何防止网络攻击?
  • # 利刃出鞘_Tomcat 核心原理解析(七)
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • $.ajax()参数及用法
  • (1)Nginx简介和安装教程
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (3) cmake编译多个cpp文件
  • (70min)字节暑假实习二面(已挂)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (二)fiber的基本认识
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (计算机网络)物理层
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)LINQ之路
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .Net 基于MiniExcel的导入功能接口示例
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案