【技术】SpringBoot Word 模板替换

SpringBoot Word 模板替换

  • [什么是 Word 模板替换](#什么是 Word 模板替换)
  • [如何实现 Word 模板替换](#如何实现 Word 模板替换)

什么是 Word 模板替换

模板一般是具有固定格式的内容,其中一部分需要替换。Word 模板通俗的讲是以 Word 的形式制作模板,固定格式和内容,然后将其中的一部分数据替换掉。例如:在颁发证书时,证书大体内容一致,只需要更换姓名以及奖项名称。

如何实现 Word 模板替换

Word 模板替换的方式有多种,对比之后最后选择 HuTool 的工具类。HuTool 还有很多其他的工具类,可以访问官网查看。

准备模板

需要注意:模板内容要求使用双花括号{``{}}定义替换内容。双花括号中的标记内容可以随意,这里我使用了数字作为标记。

导入依赖

xml 复制代码
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.16</version>
</dependency>

Java 核心代码

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);
}

转换结果

根据个人测试,带表格和带图片的均可以正常转换,且格式正常。如有问题可以指正。

相关推荐
Miss_Chenzr9 分钟前
Springboot快递信息管理52c05本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring boot
千寻技术帮10 分钟前
基于SpringBoot的仿知乎知识问答系统
java·spring boot·毕业设计·论坛·文答
=PNZ=BeijingL10 分钟前
SprintBoot +Screw+PostgreSQL生成数据库文档时空指针问题
开发语言·c#
Space-Junk11 分钟前
C#描述-计算机视觉OpenCV(8):OCR字符检测
opencv·计算机视觉·c#
南昌彭于晏17 分钟前
解决springboot静态内部类非空校验无效的问题
java·spring boot·后端
czlczl2002092517 分钟前
MybatisPlusInterceptor实现无感修改SQL的底层原理(源码)
数据库·spring boot·后端·sql
fanruitian29 分钟前
springboot openai 调用functioncall
java·spring boot·spring·ai·springai
kevin_水滴石穿39 分钟前
C#获取程序集和文件版本
开发语言·c#