一、制作mht模板
使用word(不能用wps)制作好导出后想要的样子,并使用占位符填充,例如${NAME},设置好格式,另存为.mht格式的文件。之后用文本编辑器打开(我用的notepad++),检查一下(绑定语句可能会有‘=’或者空格),表格遍历需要手动加上<#list ··· as ···>,将文件放到项目中指定路径。
二、从数据库获取数据(dataMap)
怎么获取就不说了, 一般用<String,Object>的Map接收,value值可能是String,或者是Map、List(模板中可能会有表格),也可能是富文本数据,一般来说富文本数据也是一串字符串,这里要注意从数据库取出来时要对数据进行处理(存入数据库时可能将单引号双引号替换为占位符,这个要具体结合项目和前台代码),富文本数据存入到List集合中(richHtmlList),之后还要进一步处理。
三、处理数据
将富文本数据的集合进行组织处理,如果有img元素,需要将img元素分开进行单独处理
以下是部分代码,详细代码可以看原文档
public static void createDocFile(Map<String, Object> dataMap,List<String> richHtmlList,String templateName,HttpServletRequest request) throws Exception{
Template t = null;
configuration.setDefaultEncoding("UTF-8");
try{
t = configuration.getTemplate(templateName,"UTF-8");
}catch(Exception e){
e.printStac