package com.jkcredit.invoice.util; import freemarker.template.Configuration; import freemarker.template.Template; import java.io.*; import java.util.Map; public class WordUtil { public static void exportSimpleWord(Map dataMap, String path, OutputStream outputStream) throws Exception { Configuration configuration = new Configuration(); configuration.setDefaultEncoding("utf-8"); /* * 以下是两种指定ftl文件所在目录路径的方式, 注意这两种方式都是 指定ftl文件所在目录的路径,而不是ftl文件的路径 */ // 指定路径的第一种方式(根据某个类的相对路径指定) configuration.setClassForTemplateLoading(WordUtil.class,path); // 指定路径的第二种方式,我的路径是C:/a.ftl //configuration.setDirectoryForTemplateLoading(new File("D:\\workspace\\manage_invoice\\src\\main\\resources\\static\\templates\\excel\\")); // 输出文档路径及名称 File outFile = new File("e:/test.doc"); // 以utf-8的编码读取ftl文件 Template t = configuration.getTemplate("word.ftl", "utf-8"); Writer out = new BufferedWriter(new OutputStreamWriter( outputStream, "utf-8"), 10240); t.process(dataMap, out); out.close(); } }