java生成word文件

使用poi tl插件
官网地址 http://deepoove.com/poi-tl
测试类
/**
* 用户信息导出word
* @throws IOException
*/
@RequestMapping(value = “/exportUserWord”, method = RequestMethod.GET)
public void exportUserWord(HttpServletRequest request, HttpServletResponse response,OutputStream out) throws IOException{
response.setContentType(“application/vnd.ms-excel”);
response.setHeader(“Content-Disposition”, “attachment;filename=” +new SimpleDateFormat(“yyyyMMddHHmm”).format(new Date())+".docx");
Map<String, Object> params = new HashMap<>();
// 渲染文本
params.put(“name”, “张三”);
params.put(“title”, “测试”);
params.put(“context”, “哈哈哈哈哈哈”);
params.put(“card”, “123”);
params.put(“schoolName”, “华中小学”);
params.put(“phone”, “18611798453”);
params.put(“sex”, “女”);
params.put(“tableName1”, “自定义表格1”);
RowRenderData header = RowRenderData.build(new TextRenderData( “姓名”), new TextRenderData(“学历”));
RowRenderData row0 = RowRenderData.build(“张三”, “研究生”);
RowRenderData row1 = RowRenderData.build(“李四”, “博士”);
MiniTableRenderData miniTableRenderData = new MiniTableRenderData(header, Arrays.asList(row0, row1));
params.put(“thinkTable”,miniTableRenderData);
// 渲染图片
// TODO 渲染其他类型的数据请参考官方文档
String templatePath = “D:\user.docx”;
params.put(“tableName2”, “自定义表格2”);
WordUtil.downloadWord(response.getOutputStream(), templatePath, params);
// 读取模板templatePath并将paramMap的内容填充进模板,即编辑模板(compile)+渲染数据(render)
//根据接口查出得数据
List school = new ArrayList<>;
HackLoopTableRenderPolicy policy = new HackLoopTableRenderPolicy();
Configure config = Configure.newBuilder()
.bind(“school”, policy).build();
params.put(“school”,school);
XWPFTemplate template = XWPFTemplate.compile(templatePath, config).render(params);
try {
//out = new FileOutputStream(filePath);//输出路径(下载到指定路径)
// 将填充之后的模板写入filePath
template.write(out);//将template写到OutputStream中
out.flush();
out.close();
template.close();
} catch (Exception e) {
e.printStackTrace();
}
}
word模板
https://download.csdn.net/download/qq_35908944/12881634

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值