SpringBoot Word 模板替换
- 什么是 Word 模板替换
- 如何实现 Word 模板替换
什么是 Word 模板替换
模板一般是具有固定格式的内容,其中一部分需要替换。Word 模板通俗的讲是以 Word 的形式制作模板,固定格式和内容,然后将其中的一部分数据替换掉。例如:在颁发证书时,证书大体内容一致,只需要更换姓名以及奖项名称。
如何实现 Word 模板替换
Word 模板替换的方式有多种,对比之后最后选择 HuTool 的工具类。HuTool 还有很多其他的工具类,可以访问官网查看。
准备模板
需要注意:模板内容要求使用双花括号{{}}
定义替换内容。双花括号中的标记内容可以随意,这里我使用了数字作为标记。
导入依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
Java 核心代码
public static void main(String[] args) throws IOException {
// 模板文件路径
String registerTemplatePath = "C:\\Users\\Riu\\Desktop\\奖状.docx";
// 输出结果文件路径
String putFileName = "C:\\Users\\Riu\\Desktop\\Tom-奖状.docx";
// 替换内容集合
Map<String, String> textMap = new LinkedHashMap<>();
textMap.put("0", "Tom");
textMap.put("1", "《活动名称》");
textMap.put("2", "特等奖");
textMap.put("3", "2023");
textMap.put("4", "08");
textMap.put("5", "08");
// 调用工具类,registerTemplatePath 模板路径,textMap 文字内容
XWPFTemplate render = XWPFTemplate.compile(registerTemplatePath).render(textMap);
// 输出文件到磁盘
render.writeToFile(putFileName);
}
转换结果
根据个人测试,带表格和带图片的均可以正常转换,且格式正常。如有问题可以指正。