网站抓取QQ获取系统,织梦网站主页,宁波网站建设服务商,网站建设的实训周目录
Blue留言#xff1a;
Blue的推荐#xff1a;
什么是poi库#xff1f;
实现动态替换
第一步#xff1a;依赖
第二步#xff1a;实现word模板中替换文字
模板word#xff1a;
通过以下代码#xff1a;#xff08;自己建一个类#xff0c;随意取名#xf…
目录
Blue留言
Blue的推荐
什么是poi库
实现动态替换
第一步依赖
第二步实现word模板中替换文字
模板word
通过以下代码自己建一个类随意取名主要是看test2这个函数
第三步实现word模板中替换图片
模板
通过以下代码
效果
第四步实现word模板表格
模板 代码
效果 结语 Blue留言 HelloHello好久没发文了最近一直在写我的竞赛的项目导致没时间写文章。正好今天也差不多把竞赛项目写的差不多了也可以来写写文章。俺今天分享一下简单的去使用poi库希望各位能够从文章中获取经验 Blue的推荐
推荐学习poi库的网站
https://www.w3ccoo.com/apache_poi/apache_poi_overview.html
推荐视频
http://【Java导出Word太简单了有手就会】https://www.bilibili.com/video/BV18X4y1v7yD?vd_sourcebb412cc25ca27e171f8e17085daad038
什么是poi库
Apache POI 是一种流行的 API允许程序员使用 Java 程序创建、修改和显示 MS Office 文件。 它是由 Apache Software Foundation 开发和分发的开源库用于使用 Java 程序设计或修改 Microsoft Office 文件。 它包含将用户输入数据或文件解码为 MS Office 文档的类和方法。
实现动态替换
第一步依赖
dependencygroupIdcom.deepoove/groupIdartifactIdpoi-tl/artifactIdversion1.12.1/version
/dependency第二步实现word模板中替换文字
首先我们制作一个模板word将需要动态替换的文字用{{text}}去替换其中text可以是任意名称
模板word 通过以下代码自己建一个类随意取名主要是看test2这个函数
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.data.PictureRenderData;
import com.deepoove.poi.data.Pictures;import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;public class demo1 {public static String test2(String mess,String pname) throws IOException {//模板的本地路径String path D:\\ml\\idea\\jishedemo1\\src\\main\\resources\\doc\\demo1.docx;
//生成后的world的路径String pathendD:\\ml\\idea\\jishedemo1\\src\\main\\resources\\doc\\pname.docx;//固定写法XWPFTemplate template XWPFTemplate.compile(path);MapString,Object map new HashMap();
//文字String wsmess;//mess是你想要去动态替换进的文字map.put(text,ws);//固定写法//固定写法template.render(map);template.writeAndClose(new FileOutputStream(pathend));return pathend;}
}效果 第三步实现word模板中替换图片
依旧是制作一个模板word将需要动态替换的图片用{{text}}去替换其中text可以是任意名称是必须有的符号。
模板 通过以下代码 //图片Testpublic void test4() throws IOException {//文本String path D:\\ml\\idea\\jishedemo1\\src\\main\\resources\\doc\\img.docx;XWPFTemplate template XWPFTemplate.compile(path);MapString,Object map new HashMap();//本地图片PictureRenderData imgPictures.of(C:\\Users\\王\\OneDrive\\屏幕截图 2024-07-15 094619.png).create();//网络图片PictureRenderData img2Pictures.ofUrl(https://p3.itc.cn/images01/20230925/43d7f951f84549d69fdaa790d1d5dbeb.png).size(300,300).create();map.put(img,img);map.put(urlImg,img2);template.render(map);template.writeAndClose(new FileOutputStream(D:\\ml\\idea\\jishedemo1\\src\\main\\resources\\doc\\img1.docx));}
效果 注意可以通过如下代码指定 图片大小 PictureRenderData img2Pictures.ofUrl(https://p3.itc.cn/images01/20230925/43d7f951f84549d69fdaa790d1d5dbeb.png).size(300,300).create(); 第四步实现word模板表格
依旧是制作一个模板word将需要动态替换的表格用{{#table}}替换
模板 代码 //表格Testpublic void test3() throws IOException {//String path D:\\ml\\idea\\jishedemo1\\src\\main\\resources\\doc\\table.docx;XWPFTemplate template XWPFTemplate.compile(path);MapString,Object map new HashMap();RowRenderData row0 Rows.of(姓名,年龄).create();//RowRenderData row1 Rows.of(占山,18).create();RowRenderData row2 Rows.of(万兽,20).create();TableRenderData table Tables.create(row0,row1,row2);map.put(table,table);//template.render(map);template.writeAndClose(new FileOutputStream(D:\\ml\\idea\\jishedemo1\\src\\main\\resources\\doc\\table1.docx));}
效果 结语 好了到了这里我们又该说再见了﹏我们已简单探讨了Apache POI这一强大的Java库它在处理Microsoft Office文档如Excel、Word等时展现出的卓越能力令人印象深刻。通过本文的详细阐述我们简单的去了解了Apache POI的基本架构、核心功能还通过实例展示了如何在实际项目中灵活应用这些功能来解决具体问题。希望这篇文章能够成为您在使用Apache POI进行开发时的得力助手助您在数据处理与文档自动化领域更加游刃有余。 随着技术的不断进步Apache POI也在持续更新迭代引入更多新特性和优化。各位观众老爷可以持续关注Apache POI的官方文档和社区动态以便第一时间掌握最新信息充分利用这一强大工具提升工作效率。最后感谢观众老爷花时间阅读本文期待您在未来的开发旅程中能够利用Apache POI创造出更多精彩的应用与解决方案。