使用POI进行导出的一个设计

一、整体思想

  1. 作为基础功能,提供各业务
  2. 与业务解耦
  3. 高可扩展
  4. 整洁

二、关键节点流程

流程图

注意点:

  1. 收集数据

    • 收集数据要支持多次收集
    • 收集到的数据要进行适合导出的数据转换
  2. 导出成Excel文件

    • 根据配置类持有的数据进行逐行写入
    • 导出的文件要使用临时文件模式进行保存
    • ?是否要考虑导出量很大的情况(100万行)
  3. 压缩文件

    • 更具需要进行选择是否要压缩
  4. 上传文件

    • 将2中导出的临时文件上传七牛

三、导出整体设计

1、时序图

时序图

2、导出节点设计体系类图

责任链节点

3、每个节点过后将当前状态保存到redis里面

输入图片说明

4、注意事项

  1. 提供两个方式生成文件:
    • 一种可以自己生成Excel文件,框架支架拿来直接上传并返回导出标识
    • 一种传入数据结构与列头等信息,框架帮你来导出Excel,然后返回
  2. 列头用户使用一个String数组形式传入,内部封装成对象
  3. 状态对象保存几个重要数据:进度、导出标识、状态、下载地址、当前进度节点
  4. 生成标识方法:当前时间戳+三位随机数
  5. 最终确认还是上传七牛云,并且要是私有的,外界不能随便下载
  6. 提供接口,使用标识查询当前下载的进度
本站公众号
   欢迎关注本站公众号,获取更多程序园信息
开发小院