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(); } } }
java使用freemarker制作简易导出word工具类
最新推荐文章于 2022-08-25 17:20:09 发布