package com.jkcredit.invoice.util;

import java.io.*;
import java.util.HashMap;
import java.util.Map;

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

import javax.servlet.http.HttpServletResponse;

public class WordUtil {
    public static void main(String [] args){
       /* try {
            testExportSimpleWord();
        }catch (Exception e){

        }*/

    }
    public static void ExportSimpleWord(Map<String,String> dataMap, String path, OutputStream outputStream) throws Exception {
// 要填充的数据, 注意map的key要和word中${xxx}的xxx一致
        /*Map<String, String> dataMap = new HashMap();
        dataMap.put("a", "葛慧");
        dataMap.put("b", "胡扬浩");
        dataMap.put("c", "1234567890");
        dataMap.put("d", "物资学院3号院");
        dataMap.put("e", "17600977243");
        dataMap.put("f", "工商银行物资学院支行");
        dataMap.put("g", "2123123123123123");
        dataMap.put("h", "08");
        dataMap.put("i", "08");*/
// Configuration用于读取ftl文件
        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();
    }
}
