private static final String TEMPLATE_PATH = "D:\\workspace\\WarTest";
private static final String CLASS_PATH = "D:\\workspace\\WarTest";
public static void freemarkerMakeword(){
Configuration configuration = new Configuration();
configuration.setDefaultEncoding("UTF-8");
Writer out = null;
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("ClientName", "666");
dataMap.put("Address", "afds");
try{
configuration.setDirectoryForTemplateLoading(new File(TEMPLATE_PATH));
}catch(Exception e){
e.printStackTrace();
}
try{
Template template = configuration.getTemplate("111.ftl","UTF-8");
File docFile = new File(CLASS_PATH + "\\" + "222.doc");
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(docFile)));
template.process(dataMap, new PrintWriter(docFile,"UTF-8"));
out.flush();
}catch(Exception e){
e.printStackTrace();
}
}
一定要用UTF-8 不然中文乱码
word另存为为 word xml格式
然后 把 xml 后缀改为 ftl
ok