Easypoi使用模板导出docx文档或excel表格详解

  • **doc或docx文档的模板导出**
  • **Excel的模板导出**

话不多说先上依赖

<dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter</artifactId><version>4.2.0</version>
</dependency>

对于响应头和文件名的设置,可以建一个工具类,把response和文件名传进去

 //重置响应对象response.reset();// 指定下载的文件名--设置响应头response.setHeader("Content-Disposition", "attachment;filename=" + fileName);response.setContentType("application/octet-stream");response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");response.addHeader("Access-Control-Allow-Headers", "Content-Disposition");

doc或docx文档的模板导出

为了整洁,就不加入重置响应对象和指定下载的文件名–设置响应头的代码了

List list = new ArrayList();//准备数据,一个list对应一页doc的文档for (int i = 0; i <= 100; i++){Map<String, Object> map = new HashMap<>();map.put("name", "xkx");map.put("A", i);map.put("B", i);map.put("C", i);list.add(map);}try {//重置响应对象和指定下载的文件名--设置响应头//将上方代码粘入//....//读取模板,放置数据,然后从response获取输出流导出XWPFDocument doc = WordExportUtil.exportWord07("static/模板名.docx" , list);doc.write(response.getOutputStream());doc.close();} catch (Exception e) {e.printStackTrace();}

exportWord07()的第一个参数为模板的相对地址,第二个参数为向模板中放置的数据
模板读取数据的形式为

一个list中的map对应的数据对应着一页文档的数据,有几个list就会生成几页文档
如果只需要一页,可以直接将map丢到第二个参数处

Excel的模板导出

List list = new ArrayList<Map<String, Object>>();//数据准备for (int i = 0; i <= 100; i++){Map<String, Object> map = new HashMap<>();map.put("name", "xkx");map.put("A", i);map.put("B", i);map.put("C", i);map.put("D", i);list.add(map);}HashMap<String, Object> map = new HashMap<>();map.put("list", list);try {//读取模板TemplateExportParams params = new TemplateExportParams("static/处级干部 - 成绩统计表.xls");//设置sheet名,以数组的形式,可多个params.setSheetName(new String[]{"测试sheet名"});//重置响应对象,指定下载的文件名--设置响应头//将上方代码粘入//.....Workbook workbook = ExcelExportUtil.exportExcel(params, map);workbook.write(response.getOutputStream());workbook.close();} catch (Exception e) {e.printStackTrace();}

exportExcel()的第一个参数为模板对象,第二个参数为数据

模板格式为

下面列举下EasyPoi支持的指令以及作用,最主要的就是各种fe的用法

  • 空格分割
  • 三目运算 {{test ? obj:obj2}}
  • n: 表示 这个cell是数值类型 {{n:}}
  • le: 代表长度{{le:()}} 在if/else 运用{{le:() > 8 ? obj1 : obj2}}
  • fd: 格式化时间 {{fd:(obj;yyyy-MM-dd)}}
  • fn: 格式化数字 {{fn:(obj;###.00)}}
  • fe: 遍历数据,创建row
  • !fe: 遍历数据不创建row
  • $fe: 下移插入,把当前行,下面的行全部下移.size()行,然后插入
  • #fe: 横向遍历
  • v_fe: 横向遍历值
  • !if: 删除当前列 {{!if:(test)}}
  • 单引号表示常量值 ‘’ 比如’1’ 那么输出的就是 1
  • &NULL& 空格
  • ]] 换行符 多行遍历导出
  • sum: 统计数据

导出结果如下

上面就是Easypoi使用模板导出文档或excel表格的方法了,有什么疑问欢迎提出

Easypoi使用模板导出文档或excel表格详解相关推荐

  1. 「教程」秀米怎么添加附件(Word文档、Excel表格等)

    [教程]秀米怎么添加附件(Word文档.Excel表格等) 秀米作为一款微信公众号文章编辑器,因为模板众多,操作方便,很受公众号运营者的喜欢.但是很多运营者不知道怎么通过秀米给公众号文章添加附件,秀米 ...

  2. 如何在微信公众号推文加入Word文档、Excel表格,超实用30秒学会

    大家都知道,当我们订阅了公众号(关注公众号),公众号的运营者就能给我们推送最新发布的公众号文章,我们也能在订阅号栏收到最新的文章.有一些微信公众号推文中会有附件,如word文档.excel表格,比如政 ...

  3. 【教程】微信推文怎么添加附件文档 (如word文档、excel表格、pdf文件)

    对于很多企业单位.中小学校公众号来说,有时在对外发布信息时,需要在公众号文章中插入各种文档附件,如:应聘报名表.健康承诺书.记录统计表.防疫登记表.申报评分.公告通知等,文件类型有:word文档.ex ...

  4. word文档转excel表格

    使用java语言将 word文档转excel表格,首先导入apache的poi依赖 <dependency><groupId>org.apache.poi</groupI ...

  5. schema约束文档与xml文件详解

    schema约束文档与xml文件详解 1.前言 2.schema约束文档(.xsd文件) 2.1 targetNameSpace 2.2官方文档与自定义文档的关系 2.3 声明名称空间 2.4 sch ...

  6. tensorflow 读取cifar_对tensorflow中cifar-10文档的Read操作详解

    前言 在tensorflow的官方文档中得卷积神经网络一章,有一个使用cifar-10图片数据集的实验,搭建卷积神经网络倒不难,但是那个cifar10_input文件着实让我费了一番心思.配合着官方文 ...

  7. 【教程】如何为公众号文章加入附件文档下载(如word文档、excel表格、pdf文件)

    随着移动网络的普及,微信公众号越来越成为一种信息沟通的窗口.在当前疫情的情况下,很多学校需要收集学生返校前的健康记录情况,通过公众号对外发布返程返校的公告信息,希望在公众号文章中附带承诺书模板文档,方 ...

  8. 如何用Python将Word文档转换为Excel表格

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 作者:小小明 来源:菜J学Python Python爬虫.数据分析.网站开发等案例教程视频免费在线 ...

  9. python遍历目录将txt文档转换为Excel表格

    最近因工作原因需要批量转换txt文档,手工一个个修改太耗时,于是写了个脚本,需要用的自己拿. 脚本流程基本分为3个部分. 1,遍历目录 2,找到目录下的txt文档 3,转换文档并在txt文档存储目录下 ...

最新文章

  1. Ocelot + Consul实践
  2. 杭电 1181 变形课
  3. 小米用户画像实战(附48页PPT)
  4. 对话创新工场陶宁:AI步入深水区下的投资逻辑
  5. 机器学习的12大经验总结
  6. oss2模块和aliyun oss连接
  7. 6、Hive的特殊分隔符处理
  8. windows10如何删除文件时提示?(回收站--右键属性--显示删除确认对话框)
  9. AC日记——字符替换 openjudge 1.7 08
  10. 享受Android应用程序的Java技术盛宴
  11. GitHub 和 Gitee 树形展示插件
  12. 如何使用Mac的屏幕时间功能限制访问网站?
  13. Gimp去除图片背景色方法
  14. error An unexpected error occurred: “https://registry.npmjs.org/react: ETIMEDOUT“.
  15. 电视android已停止运行是什么意思,com.android.systemui已停止是什么意思 怎么解决...
  16. 计算机房消防灭火系统,机房气体消防灭火系统方案.docx
  17. 找学习资料的网址/地方
  18. 电动车电池管理系统c语言实训,电动车控制器C语言源代码复习课程.doc
  19. 微软求职攻略之笔试答疑
  20. 诗歌(6)—饮湖上初晴后雨

热门文章

  1. 联诚发当选深圳市智慧杆产业促进会常务副会长单位
  2. PTA 7-2 方阵左下三角元素的和
  3. 安装MSDE 2000
  4. 恢复系统强制卸载MSDE
  5. python 数据库框架pyMysql+Flask -SQLAIchemy
  6. SEM推广营销远比你想象得更丰富
  7. java爬虫黑马百度云,Java爬虫小Demo java爬取百度风云榜数据
  8. Mac好用的软件推荐(不定期更新)
  9. 格式英语计算机,计算机英语论文大纲格式 计算机英语论文提纲如何写
  10. 物体碰撞和检测——Hit UFO改进版射箭游戏