当前位置: 首页 > news >正文

easypoi模板导出word并且合并行

导出流程

  • 引入依赖
  • 制作模板
  • 合并导出

引入依赖

<dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.2</version>
</dependency>

制作模板

合并行是备注那一列,这一列因为各种列合并的关系,所以每一行所对应的所在列位置都不一样,这是个复杂的模板,如果列都在一个位置,那就更好操作,不用去判断了,下方的遍历判断就是为了找到列所在位置。
在这里插入图片描述
因为要导出多页所以用word。
模板提取码:e4xe

合并导出

关键代码:
单页导出:outputUrl是模板路径,map是导出需要用到的信息。
在这里插入图片描述

 @Cleanup XWPFDocument xwpfDocument = WordExportUtil.exportWord07(outputUrl, map);

多页导出:
将上边单页的map自定义多个,每页的格式一样,内容可以不一样,如果不在乎格式,也可以用单页导出,让它根据内容多少自动扩展页数。

@Cleanup XWPFDocument xwpfDocument = WordExportUtil.exportWord07(outputUrl, hashMaps);

合并行的关键代码:

XWPFTableCell cell = row1.getCell(6);
//设置合并开始cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART);//设置单元格居中,段落内容居左或右在模板里设置cell.setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);//设置合并后的内容,如果要合并后只展示一行内容或者自定义内容,就设置第一行的内容即可,还要把其他单元格内容清空,如果合并所有单元格内容,就不需要设置了cell.setText("必须做到稳固、定量、整理、方便和安全");

图示:
在这里插入图片描述
导出:

//设置表格文件名字
String fileName = title;
fileName = URLEncoder.encode(fileName, "UTF8");
//设置返回数据类型
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".docx");
//将表格输出
@Cleanup OutputStream os = response.getOutputStream();
xwpfDocument.write(os);

完整代码:4b7y


http://www.mrgr.cn/news/8977.html

相关文章:

  • 数据结构与算法的实现与优化
  • linux df -h时没有查到root盘,root文件夹带着锁或者叉号的解决办法
  • 进阶-7.管理工具
  • QChart绘制折线图
  • 【C++】函数模板特化:深度解析与应用场景
  • 【设计模式】模块模式和桥接模式
  • Android笔试面试题AI答之Kotlin(18)
  • postgresql 使用explain 进行SQL分析
  • ios白苹果修复办法有哪些?
  • 【微服务】springboot整合对象映射工具MapStruct使用详解
  • nginx做代理 转发前端请求到后端
  • 698. 划分为k个相等的子集
  • java日常管理
  • 如何使用 vue2+element-ui 处理复杂表单,避免单文件过大的问题
  • Android14 以太网共享功能 相关代码简介
  • Lumos学习王佩丰Excel第十四讲:日期函数
  • Tailwind CSS的介绍和使用
  • (十)Flink Table API 和 SQL 基本概念
  • 数据库的读写分离技术MVCC
  • 线性代数 第二讲 矩阵_逆矩阵_伴随矩阵_分块矩阵_初等矩阵_矩阵的秩