前言:
excel
导入导出的使用场景相对比较多,大家都很熟悉了,怎么导入,怎么导出,可以根据自己的喜好选择一款适合的框架即可,现在的框架封装的都很完美。比如:阿里的easyexcel
,它不会像以前直接用poi那么繁杂,以前你需要做的事情,easyexcel
已经给你做好了,你只需要调用接口传递数据对象就可以了,就这么方便快捷。框架的使用我不做过多的讲解,大家可以自行搜索。既然excel
能有这么便利的架构,那word
会不会有呢。凭着这样的猜想我去找了找,哎,发现确实有哦。比如:easypoi、easyword、poi-tl
都可以做到,不过poi-tl
的文档写的不错,容易入手,接下来我通过一个简单的案例来讲解一下使用
一、引入Poi-tl
的依赖包
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.12.0</version>
</dependency>
二、制作模板【个人简历】
- 占位符说明
- 字段的显示使用
{ {var}}
占位,var
变量名可自定义。如果你的数据对象
是map
结构,那么var
就表示map
的key
,如果你的数据对象
是实体对象
,那么var
就表示实体对象的属性名
- 图片的显示需要使用
{ {@var}}
来占位,否则无法被解析到- 表格的展示和普通数据没有太大的区别也使用
{ {var}}
占位,但不一样的是{ {var}}
放在表头
,因为表头是不需要循环的,需要循环的部分对每一列的单元格进行占位,使用[var]
- 模板结构如下图所示[个人简历模板]
三、写代码
/**
* 返回文件输入流
*
* @param fileName
* @param filePath
* @param suffix
* @return
*/
private InputStream inputStream(String fileName, String filePath, String suffix) {
return Objects.requireNonNull(this.getClass().getClassLoader().