使用poi-tl操作word模板
1.导入jar包支持
com.deepoove
poi-tl
1.8.2
2.建立word模板
在电脑E盘中建立word模板:“E:\templete.docx”
修改模板内容
标题:{{title}}
工单编号:{{workNo}}
发单日期:{{issueDate}}
列表数据:{{*list}}
3.生成代码方法
/**
* 根据word模板生成word文档
* @param request
* @param response
*/
@RequestMapping(value = "expdoc")
public void expdoc(HttpServletRequest request, HttpServletResponse response){
try {
String tempFile="E:\\templete.docx";
XWPFTemplate template = XWPFTemplate.compile(tempFile).render(
new HashMap() {{
put("title", "Hi, poi-tl Word模板引擎");
put("workNo", "20200910-001");
put("issueDate", "2020年9月10日");
put("list", new NumbericRenderData(new ArrayList() {
{
//循环list进行赋值
for(String detail:list){
add(new TextRenderData(detail));
}
}
}));
}});
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition","attachment;filename=\""+"out_template.docx"+"\"");
OutputStream out = response.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(out);
template.write(bos);
template.close();
bos.flush();
bos.close();
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
4.请求访问
在浏览器中输入请求地址:http://localhost:8080/expdoc ,浏览器自动下载word文档,文档名称为:out_template.docx