1、将word 另存为 xml
2、格式化XML,更改后缀名为ftl
3、用freemarker 渲染转word格式
public class FreemarkerUtils {
public static void doTemplate(String templatePosition,String templateName,Map<String,Object>dataMap,String outPath)throws Exception{
//1、创建一个模板文件
//2、创建一个Configuration对象
Configuration configuration = new Configuration();
//3、设置模板文件保存的目录
configuration.setDirectoryForTemplateLoading(new File(templatePosition));
//4、模板文件的编码格式,一般就是utf-8
configuration.setDefaultEncoding("utf-8");
//5、加载一个模板文件,创建一个模板对象。
Template template = configuration.getTemplate(templateName);
//6、创建一个数据集。可以是pojo也可以是map。推荐使用map
//7、创建一个Writer对象,指定输出文件的路径及文件名。
Writer out = new FileWriter(new File(outPath));
//8、生成静态页面
template.process(dataMap, out);
//9、关闭流
out.close();
}
}
注意,可以从系统寻找路径
configuration.setClassForTemplateLoading(FreemarkerUtils.class,""); //后面一个参数是模板路径
优点
1、生成兼容性比较好
缺点
1、模板行数比较多,看起来比较累