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

个人博客模板网站做品牌网站的

个人博客模板网站,做品牌网站的,美食网站网页设计论文,大型网站建设报价JAVA使用POI向doc加入图片 前言 刚来一个需求需要导出一个word文档,文档内是系统某个界面的各种数据图表,以图片的方式插入后导出。一番查阅资料于是乎着手开始编写简化demo,有关参考poi的文档查阅 Apache POI Word(docx) 入门示例教程 网上大多数是XXX…

JAVA使用POI向doc加入图片

前言

刚来一个需求需要导出一个word文档,文档内是系统某个界面的各种数据图表,以图片的方式插入后导出。一番查阅资料于是乎着手开始编写简化demo,有关参考poi的文档查阅 Apache POI Word(docx) 入门示例教程

网上大多数是XXX模板占位然后插入图片,那种方式需要内置模板且图片需要转base64,并不是我想要的,我的需求很简单只要无脑插入导出即可。先上demo效果图。

注意:代码中宽高的单位一定要使用Units.toEMU(XXX)处理一下,否则就会出现插进去了但是你看不到效果的情况

在这里插入图片描述

依赖

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

单元测试参考代码

在这里插入图片描述

@Slf4j
public class ImgDocTest {@Testvoid testExportDocContainsImg() throws IOException, InvalidFormatException {File dir = new File("D:\\tmp\\tmp\\20231208");File[] imagePaths = dir.listFiles();addImagesToWord(imagePaths);}private static void addImagesToWord(File[] imgs) throws IOException, InvalidFormatException {try (XWPFDocument document = new XWPFDocument()) {for (File img : imgs) {// 只对指定后缀的图片处理if (img.getName().endsWith("jpeg") || img.getName().endsWith("jpg") || img.getName().endsWith("png")) {BufferedImage bufferedImage = ImageIO.read(img);int imageType = XWPFDocument.PICTURE_TYPE_JPEG;if (img.getName().endsWith(".png")) {imageType = XWPFDocument.PICTURE_TYPE_PNG;}int width = bufferedImage.getWidth();int height = bufferedImage.getHeight();// Create a new run and add the imageXWPFRun run = document.createParagraph().createRun();log.warn("fileName:{},height:{},width:{}", img.getName(), height, width);run.addPicture(new FileInputStream(img), imageType, img.getName(), Units.toEMU(width), Units.toEMU(height));// Optionally, you can add more text or formatting here// Add a new line for the next imagedocument.createParagraph();} else {continue;}// Save the modified documenttry (FileOutputStream fos = new FileOutputStream("D:\\tmp\\tmp\\20231208\\modify.doc")) {document.write(fos);System.out.println("Images added to Word document successfully.");}}}}
}

参考资料

  • Apache POI Word(docx) 入门示例教程
  • 插入图片显示不了的问题
http://www.yayakq.cn/news/559070/

相关文章:

  • o2o网站平台怎么做网站开发 seo
  • 佛山高端网站开发公司网站建设付款方式
  • 河北企业网站设计2022年下半年软考停考地区
  • 合肥工程建设信息网站如何免费建一个网站
  • 想做一个电影网站该怎么做新安人才网
  • 电子商务网站的功能有哪些手机上的网站
  • 江苏做网站价格官网网址
  • 中国建设人才信息网站徐州网站建设xlec
  • 网站怎么做六个页面wordpress编辑器换成经典模式
  • 京东联盟的网站怎么做施工企业半年工作总结
  • 自己做的网站转成二维码网站流量 次
  • 网站开发工程师的经验网站建设中代码
  • 网站运营现状哪里网站建设公司好
  • 如何做垂直网站教学类网站怎么做
  • 门户网站建设的平台搭建深圳网络推广营销
  • 地方资讯网站源码网站开发代码无中文
  • 滨州制作网站做一钓鱼网站吗
  • 网站建设学校培训班扬州建站公司
  • 沣东新城开发建设集团有限公司网站dedecms企业网站模板
  • dw做网站网站着陆页有多少个
  • 四合一小说网站搭建教程wordpress主题大学
  • 网页具有动画网站建设技术椒江建设局网站
  • 长沙网站建设有限公司崇州seo
  • 华强北ic网站建设html网页上传到服务器
  • 上海闵行建设局官方网站淮北建设工程交易中心
  • 谷歌账号注册网站打不开资源网站优化排名网站
  • 中国空间站官网网站建设毕业答辩问题
  • 无线网站应建设在什么地方网站开发项目经理岗位职责
  • 网页型网站wordpress 评论模版
  • 网站说服力做设计比较好的网站