WordUtil.java 1.3 KB

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