使用了freemarker模板填充占位符的方式来生成word文档,支持跨平台。
Java导出Word的五种方式
制作Word模板
将制作好的Word模板.docx另存为.xml格式,修改xml文件的内容符合freemarker解析规范;并将xml文件的后缀名改为.ftl就行了。
创建Word模板具体过程可参考:使用FreeMarker自动生成Word文档
环境
Java 8
SpringBoot 2.3.10
<!-- freemarker -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
Word操作工具类
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.