前言:poi-tl(poi template language)是Word模板引擎,基于Microsoft Word模板和数据生成新的文档。在文档的任何地方做任何事情(Do Anything Anywhere)是poi-tl的星辰大海。详细使用见:

1、pom.xml引入依赖

com.deepoove poi-tl 1.8.2

2、准备Word模板

文本标签: {{ }}
图片标签:以@开始:{{@var}}

自我介绍.docx

3、主要代码

import java.io.File; import java.util.Map; import java.util.HashMap; import java.io.FileOutputStream; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.util.BytePictureUtils; import com.deepoove.poi.data.PictureRenderData; public class Application { public static void main(String[] args) throws Exception { Map map = new HashMap<>(); map.put("name", "tony"); map.put("age", "18"); // 读取本地磁盘图片 map.put("weChatPicture", new PictureRenderData(100, 100, "D:\weChat.jpg")); // 通过url读取网络图片 map.put("picture", new PictureRenderData(200, 400, ".png", BytePictureUtils.getUrlByteArray("https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/1EtCRvm.png"))); File file = new File("D:\自我介绍.docx"); XWPFTemplate template = XWPFTemplate.compile(file).render(map); FileOutputStream out = new FileOutputStream(new File("D:\输出自我介绍.docx")); template.write(out); out.flush(); out.close(); template.close(); } }

4、效果图

输出自我介绍.docx

路漫漫其修远兮,吾将上下而求索

译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。

如果您有什么好的想法与方法,欢迎评论区留言,我们一起讨论~