JAVA生成Word文档
第一步:已入freemarker依赖:
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.30</version>
</dependency>
第二步:设计好word文档格式,需要生成的内容使用${XXX}代替:
第三步:设计好Word文档模板之后将其另存为转换为xml格式(注意不要直接修改后缀名):
第四步:逻辑代码(这里举例在测试类运行):
@Test
public void test() throws IOException, TemplateException {
Map<String,String> dataMap = new HashMap<String,String>();
dataMap.put("pzBh", "300300");
dataMap.put("bxdBh", "1029384756");
dataMap.put("bxr", "刘宝腾");
dataMap.put("bm", "税务事业部");
dataMap.put("xmMc", "报销项目");
dataMap.put("dxJe", "壹万元整");
dataMap.put("xxJe", "10000");
dataMap.put("yt", "送礼");
Configuration configuration = new Configuration();
configuration.setDefaultEncoding("utf-8");
configuration.setDirectoryForTemplateLoading(new File("F:"));
// 输出文档路径及名称
File outFile = new File("F:/test-gen.doc");
//以utf-8的编码读取ftl文件 name:xml文件名
Template t = configuration.getTemplate("test.xml","utf-8");
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"),10240);
t.process(dataMap, out);
out.close();
}
第五步:输出结果:
文章借鉴自:https://jingyan.baidu.com/article/1709ad807ec8ab4634c4f012.html