1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0.5 | JS实现大数据集导出Excel、大数据集导出Excel插件 这两个场景下的优化:
|
1.2 功能简介
本文介绍大数据集模板导出方案,特别是大数据的 Excel,很占内存,再碰上大并发,有很大可能服务器内存溢出,或者是数据量太大的时候,一直卡在导出页面,根本导不出来。因此,针对大数据量的模板,需要根据业务需求,采用不同的方法。按 cpt 模板和 cptx 模板来选择适合的方法,如下图所示:
注:CPTX 模板指原10.0版本使用新计算引擎制作的报表。
2. 导出方案对比
方案 | 简介 | 优缺点 |
---|---|---|
1)导出的文件名可以重命名,导出的列可以选择数据集里全部字段,也可以选择部分,且支持根据参数面板选择的条件进行导出对应数据 2)建议导出的数据量不超过「1000W 行 * 20 列」,数据量超大可能会导致仅导出部分数据 3)支持 cpt 和 cptx 4)导出的结果:EXCEL 文件 | 1)优点:
2)缺点:
| |
1)支持导出动态列,支持根据参数面板选择的条件进行导出对应数据,JS 导出最灵活 2)建议导出的数据量不超过「1000W 行 * 20 列」 3)只支持 cpt,不支持 cptx 4)导出的结果:EXCEL 文件 | 1)优点:
2)缺点:
| |
1)可以选择导出哪个数据集,但不能指定导出数据集里的哪些字段。支持根据参数面板选择的条件进行导出对应数据 2)适用于 cptx 模板 注:CPTX 模板指原10.0版本使用新计算引擎制作的报表 3)导出的结果:EXCEL 文件 | 1)优点: 跟行式引擎相比,使用限制没那么多,且可以选导出哪个数据集 2)缺点:
| |
1)启用行式引擎的大数据量报表导出 Excel 时,是将其分成多个 .xls 文件,且是以一个压缩包文件的格式传输到客户端的 2)导出会变成 xls,即非流式导出,占用内存会变大;装上 流式导出支持行式引擎插件 就会导出 xlsx ,即流式导出了 注:行式引擎功能主要为了解决预览慢的问题而非导出慢的问题 | 1)优点: 使用行式引擎之后,URL 后面直接加&format=excel就是流式导出了,比较方便 2)缺点: 行式引擎的使用限制条件比较多 | |
Excel 流式导出支持行式引擎插件 | - | 优点: 流式处理占用内存低,服务器对浏览器的响应也是非常迅速的,可以导出几百万行数据 |
注1:启用行式引擎和没启用行式引擎的对比说明请参见:大数据量导出Excel
注2:多数据集实现层式报表 分页,原样,分页分sheet导出都只能导出当前页的数据
3. 导出常见问题
以下文档提供了大数据集导出常见问题的排查思路以及解决方案,帮助用户排查导出问题。
帮助文档 |
---|
大数据集导出常见问题 |
大数据模板导出慢问题排查 |
4. 导出交互优化
11.0.5 及之后版本,针对 JS实现大数据集导出Excel、大数据集导出Excel插件 的导出过程进行优化。
导出过程中,如果出现错误,会弹窗提示错误信息。弹窗内容包括:标题、错误代码、错误详情、错误堆栈。
注:有忽略错误做法的,显示「忽略」按钮;若无忽略做法,则仅展示「退出」按钮。
1)若点击「退出」按钮,则终止导出,恢复预览界面。
2)若长时间不点击,超时后再次点击,则弹出弹窗,弹窗内容为:已超时,请刷新页面再次导出。点击「确定」或叉号,则刷新当前页面。
注:超时时间取「平台>生命周期」中的清除过期会话时长。