package com.jkcredit.invoice.util;

import freemarker.template.Configuration;
import freemarker.template.Template;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Map;


/**
 * 文档工具类
 * @author mumuxigua
 */
public class WordUtil {
    public static void exportSimpleWord(Map<String, String> dataMap, String path, OutputStream outputStream) throws Exception {
        Configuration configuration = new Configuration();
        configuration.setDefaultEncoding("utf-8");
        /*
         * 以下是两种指定ftl文件所在目录路径的方式, 注意这两种方式都是 指定ftl文件所在目录的路径,而不是ftl文件的路径
         */
        // 指定路径的第一种方式(根据某个类的相对路径指定)
        configuration.setClassForTemplateLoading(WordUtil.class, path);
        // 输出文档路径及名称
        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, StandardCharsets.UTF_8), 10240);
        t.process(dataMap, out);
        out.close();
    }
}
