互相交流入口地址
整体目录:
【九】springboot整合redis实现启动服务时热点数据保存在全局和缓存
【十三】springboot整合WebService关于传参数
【十五】springboot整合WebSocket实现聊天室
【十六】RabbitMQ基础篇(下载安装并基础使用,内含各种坑问题)
【十九】初学Kafka并实战整合SpringCloudStream进行使用
【二十】springboot整合ElasticSearch实战(万字篇)
【二十三】springboot整合activiti7(1)实战演示篇
【二十四】springboot整合spring事务详解以及实战
【二十五】springboot使用EasyExcel和线程池实现多线程导入Excel数据
【二十六】springboot整合jedis和redisson布隆过滤器处理缓存穿透
【二十八】springboot之threadLocal参数解析器实现session一样保存当前登录功能
目录
场景:现在系统想将个人基本信息数据按照简历模板导出,简历模板是word,前面我们有几章使用easyExcel导出了excel数据,这章就记录一下导出word,本章将采用freemarker的方式。
一、准备模板文件
假设这就是业务方提供给我们的模板(网上随便找的免费的),我们需要按该格式进行填充数据,那么我们首先需要将改文件进行预处理一下,改为ftl文件。
1、先改造文件内容
列表按照${xx.xx}的格式,普通属性按照${xx}的格式。
2、改造完内容后将文件另存为xml文件
3、将文件后缀改为ftl
4、复制文件到项目中
5、针对demo中的遍历集合进行特殊处理
打开ftl模板文件,根据需要遍历的行的模板关键字,例如${postList.post}找打该行位置,并找打最接近的<w:tr>标签(该标签代表行标签<w:tr></w:tr>)。如下图:
找到该行之后,用list标签将其包住,类似jsp的写法。将所有的列表都处理一下,我们在这个例子中需要处理两处。
这个完成后准备工作就完成了。
二、编写代码
随便拿一个以前的demo项目进行代码填空。
1、引入依赖
2、准备点假数据(小demo懒得连数据库)
3、代码填空(每一步的注释已经写清楚了)
三、演示效果
若有帮助,感谢三连。,欢迎评论区谈论。