核心代码如下
/**
* 导出word
* <p>第一步生成替换后的word文件,只支持docx</p>
* <p>第二步下载生成的文件</p>
* <p>第三步删除生成的临时文件</p>
* 模版变量中变量格式:{{foo}}
* @param orderNo 根据自己的情况传入参数 即文件名字
* @param templatePath word模板地址 默认在resource下面
* @param fileName 文件名 文件名字和orderNoY一直 后缀多个(.docx)
* @param params 替换的参数 word文档模板中替换的参数
* @param response HttpServletResponse
*/
public static void exportWord(String orderNo,String templatePath, String fileName, Map<String, Object> params,
HttpServletResponse response) {
Assert.notNull(templatePath,"模板路径不能为空");
Assert.notNull(fileName,"导出文件名不能为空");
Assert.isTrue(fileName.endsWith(".docx"),"word导出请使用docx格式");
try {
XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params);
FileOutputStream fos = new FileOutputStream(fileName);
doc.write(fos);
// 设置强制下载不打开
response.setContentType("application/force-download");
// 设置文件名
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(orderNo + ".doc", "UTF-8"));
OutputStream out = response.getOutputStream();
doc.write(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
word模板
{{insuredName}}:
我司对借款人{{cusName}}(统一信用代码:{{identifiyNumber}})提出投保{{riskName}}业务申请已经受理,对该客户的承保意见为:
word模板只是简单一段话,里面所需要的参数和map里面的Key一致。
以上为java导出word模板,如需转载请注明处处。