使用POI进行导出的一个设计
一、整体思想
- 作为基础功能,提供各业务
- 与业务解耦
- 高可扩展
- 整洁
二、关键节点流程
注意点:
-
收集数据
- 收集数据要支持多次收集
- 收集到的数据要进行适合导出的数据转换
-
导出成Excel文件
- 根据配置类持有的数据进行逐行写入
- 导出的文件要使用临时文件模式进行保存
- ?是否要考虑导出量很大的情况(100万行)
-
压缩文件
- 更具需要进行选择是否要压缩
-
上传文件
- 将2中导出的临时文件上传七牛
三、导出整体设计
1、时序图
2、导出节点设计体系类图
3、每个节点过后将当前状态保存到redis里面
4、注意事项
- 提供两个方式生成文件:
- 一种可以自己生成Excel文件,框架支架拿来直接上传并返回导出标识
- 一种传入数据结构与列头等信息,框架帮你来导出Excel,然后返回
- 列头用户使用一个String数组形式传入,内部封装成对象
- 状态对象保存几个重要数据:进度、导出标识、状态、下载地址、当前进度节点
- 生成标识方法:当前时间戳+三位随机数
- 最终确认还是上传七牛云,并且要是私有的,外界不能随便下载
- 提供接口,使用标识查询当前下载的进度
转载于:https://my.oschina.net/UBW/blog/1599686