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