文章目录
- 积木报表Excel数据量大导出慢导不出问题、大量数据导不出问题优化方案和分析解决思路(优化前一万多导出失败,优化后支持百万级跨库表导出,已开源)
- 反馈官方进度
- 跟官方反馈这个方案后,官方直接优化了但是把原本这个免费的大数据导出做成了收费功能!绝了,我直接把我方案开源
- 优化结果
- 需求背景和解决方案的思考
- 解决方案
- 流程描述:
- 关键代码
- 引入easy excel
- 新建数据库表
- 识别所需注解、基类
- 下载中心服务(报表下载的导出任务)
- 数据跨库获取工具
- 拦截切面
- 报表下载任务处理事件
- 透传信息
- 给前端暴露接口
反馈后看到后续的版本里有说升级了这个,于是我升级了包测试,直接这个功能需要企业版才给用了,寄,不如直接用下载中心模式得了,有空把这个下载中心的代码抽出来封装好开源放github 0
下载中心这个能力抽出来脱敏成开源项目已准备的差不多了,准备好后更新文章,帮忙点star支持开源
地址:https://github.com/HumorChen/JimuExportDataExtension








流程描述:
识别并拦截积木导出操作,透传导出时参数生成自己设计的导出任务,异步执行导出任务(自行实现积木导出的逻辑),并使用高性能的阿里巴巴开源的EasyExcel工具,最后将EasyExcel导出的表格文件上传到OSS变为表格URL(记得做安全防护,避免表格泄漏)
关键代码
大部分代码是不需要你改的,你可以根据自己项目结合使用,例如OSS上传的地方改为你自己的。后面的代码有点长~需要的人依次把代码弄进自己项目。
引入easy excel
新建数据库表
下载任务
使用mabatis plus code generator生成service、mapper等文件
识别所需注解、基类
数据获取api所调用服务上方法上标注的注解
示范给数据接口调用的服务加注解
参数基类
结果基类
下载中心服务(报表下载的导出任务)
实现类
数据跨库获取工具
服务接口
服务实现
拦截切面
报表下载任务处理事件
处理器
透传信息
主要是在这个customApiHeader() 方法里DownloadCenterUtil.copyDownloadCenterHeader(request, header);自定义获取数据请求的header这,读取这次积木导出请求的参数信息,写到获取数据请求的header里去
下载中心工具类
异步线程池
给前端暴露接口
DynamicColumnEasyExcelUtil 动态字段EasyExcel工具
今天的文章 2026年sqlldr导入数据比较慢(sqlldr导入导出)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/34547.html