import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.Version; import java.io.*; import java.util.HashMap; import java.util.Map; public class OutputWordUtil { static String output_dir = System.getProperty("user.dir") + "\\src\\main\\java\\com\\test\\demo\\test";//导出路径 //1.加入freemarker依赖 /*<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency>*/ //2.新建word模板,变量以${}命名;然后模板另存为xml格式;修改拓展名为ftl public static void main(String[] args) { Map<String, Object> dataMap = new HashMap<String, Object>(); dataMap.put("name", "123456"); outToWord("test.ftl", "示例", dataMap); } public static void outToWord(String templateName, String wordName, Map<String, Object> dataMap) { try { //Configuration 用于读取ftl文件 Configuration configuration = new Configuration(new Version("2.3.0")); configuration.setDefaultEncoding("utf-8"); configuration.setDirectoryForTemplateLoading(new File(output_dir)); Template template = configuration.getTemplate(templateName, "utf-8");//设置读取的编码格式 File outFile = new File(output_dir + "\\" + wordName + ".doc");//输出文档路径及名称 Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "utf-8"), 10240); template.process(dataMap, out); out.close(); System.out.println("导出word成功!"); } catch (Exception e) { System.out.println("导出word失败!"); e.printStackTrace(); } } }
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交