反馈已提交
网络繁忙
本文介绍大数据集导出的常见问题及解决方案,并梳理出了大数据集导出常见问题的排查思路,方便用户再遇到类似问题减少排查时间,减小排查难度。
1)JS 获取不到 URL 中的参数:JS 导出其实是针对模板或者数据,不预览也能导出,不依赖 session,URL 传参数是在预览过程中传递不是模板本身的属性也不是服务器的环境。
2)在 JS 的 URL 部分加上&_filename_=来指定导出文件名称,导出文件名最后面会自动拼接数据集名称,不支持去掉拼接的dsname 。
3)参数过多情况导出报错 414 。
4)获取多选下拉树控件时为空数组,而不是空字符串,将导致数据查询参数为空查询全部失败。
5)不支持移动端。
1)导出的 Excel 是通过 SQL 语句直接从数据库中获取的数据,并非报表中的数据,因此报表中设置的数据格式等无法被导出。
2)导出不支持 CSV 格式。
3)大数据集导出 Excel 字段包含"/"时按钮配置无法保存。
4)决策系统记录的导出次数不包括大数据集导出 Excel 插件的导出次数。
5)不支持按钮同事设置多个事件。
6)不支持筛选导出表字段名称包含符号"{}"。
7)不支持 Spider 数据集。
8)不支持移动端。
1)超过 5s 显示进度条。
2)数据格式变化,100.0 导出后显示为 100 。
3)大数据集导出 Excel 每 100W 行会到下一个 Sheet 。
4)导出的数据量不超过 1000W 行 * 20 列,数据量超大可能会导致仅导出部分数据。
JS 实现大数据集导出遇到问题时的常见排查思路如下所示:
使用大数据集导出插件导出时,遇到问题时的常见排查思路如下所示:
问题描述
JS 实现的大数据集导出,用户使用下拉树控件,当选择参数的时候才可以正常导出数据,如果不选择内容,导出的就是空的,但是不选择内容的时候,点击查询是能够查出数据的。
原因分析
JS 大数据集导出,多选下拉树控件值不选时,获取到为空数组"[]",而不是空字符串"",导致数据集查询那边参数为空查询全部失败。
解决方案
手动在 JS 中给参数赋空值。
大数据集导出 Excel 每 100W 行会到下一个 sheet 。
行式引擎开启后,大数据量 Excel 导出行高过小,用流式导出插件也是一样的情况。
如果是 8.0 和 9.0 遇到了这种情况,就调大行高,酌情调整,能够有效的改善这个情况。如果是 10.0 遇到了这种情况,可以通过大数据集导出/新引擎解决。
导出 1300w 行 26 列左右的数据,只导出了部分。
JS实现大数据集导出Excel 建议导出的数据量不超过「1000W 行 * 20 列」,数据量超大可能会导致仅导出部分数据。
大数据集导出接口不读取系统参数,数据集里引用了 fine_username 传给数据列 a , 单元格里再放入数据列 a ,预览的时候,能看到正常显示登录用户名,但是导出的时候,Excel 里不显示登录用户名。
2020-04-26 的 JAR 包已修复该问题。
大数据集导出针对一个参数对应多个值的情况,字符串拼接是否支持 JSON 数组格式?大数据集导出时,某个参数需要传递多值,测试用 JSON 数组格式放到接口参数中,但是导出为空,控制台显示导出成功语句,但是导出的 Excel 没有内容。
拼接字符串用了以下几种形式:{val:[\"华北\"]} ==导出为空{val:[\"华北\",\"华东\"]}==导出为空{val:\"华北\"} ==导出为华北{val:['华北','华东']} ==导出为空{val:[华东','华北]} ==导出提示报错:Unexpected End: at character 15 of {val:[华东','华北]}{val:\"华北\",val:\"华东\"};==导出为华东
参数拼接的方式错了
华北','华东 需要被""包围起来,但是""需要转义防止被解析,所以写成var paramStr = encodeURIComponent("{val:\"华北','华东\"}")//数据集传参var colNames = encodeURIComponent("地区,销售员,产品类型,产品,销量")//指定导出的数据列,导出字段按此顺序排列,为空默认导出所有_g().directExportToExcel("ds5","导出测试",paramStr,colNames)
数据集总数据量 13 万,导出 Excel 后只有 65535 条,将 SQL 中的 order by 注释掉就能导出全部。&format=excel导出、excel按钮导出、大数据集导出等方法均能复现。
用户数据库的配置问题。
将 order by 注释,使用大数据集导出。
大数据集导出插件,如果字段名有“/”符号,设置的导出字段名会无法保存。
目前不支持特殊字符,HTML 解析会有问题。
系统和设计器都升级 JAR(2021-11-30)后,原先没有问题的模板,使用了大数据集导出插件导出的,在设计器本地目录看没有问题,但是设计器远程连接服务器,以及在服务器平台挂载看都是导出没有数据只有字段名称。
升级到 2021-12-15 及之后的 JAR 包解决。
在使用新自适应的frm且使用大数据集导出excel导出时,数据集使用的是mysql5.7.23,会报错“不支持此数据库”,不使用新自适应报表时可以正常导出。
大数据集导出插件更新升级至 V1.0.9 。
更新插件至 V1.1.1 及之后。
更新插件至 V1.1.5 及之后。
更新插件至 V1.1.6 及之后。
2020.04.26以及以后的jar不支持获取url的参数。
模板 SQL 参数数据集里加上参数,如下图所示:
用户数据量较大,导出时间较久,超出了容器设置的超时时间。
调整容器的超时时间即可。
例如 Tomcat 容器可以修改%Tomcat_HOME%\conf 目录下的 server.xml 文件,适当调整 connectionTimeout 参数值,如下图所示:
Tomcat 中默认的连接超时时间是20秒,一般最好设置为60秒,从而避免后台程序处理时间长导致连接断开,进行以下修改即可: connectionTimeout="60000"
用户使用的 spider 数据集,明细表,420w 左右的数据量,把数据列拖到单元格,设置了边框就没有其他任何特别的设置了。 用户想把模板导出成 EXCEL,在数据集预览是有数据的,用普通的 EXCEL 导出导出不了,想问大数据集导出可以吗?
大数据集导出目前只支持关系型数据库,不支持 spider 数据集或者程序数据集等。
建议使用关系型数据库的普通数据集。
按钮写 JS 进行大数据集导出,如果数据量比较大,有一段时间页面看起来没有反应。
大数据集导出是做了进度条的,但是默认在 5s 之后才会开始显示。
1)用户在 IE 浏览器环境下使用 FineReport 10.0 的大数据集导出功能导出数据集结果时出现 HTTP 400 报错;
2)用户在 IE 浏览器环境下点击邮件中定时调度报表地址后出现 HTTP 400 报错。
HTTP 400 报错只在 IE 浏览器环境下发生,使用 Chrome 内核的浏览器可正常访问,经验证 URL 中含有中文,并且复制之后会转换为 UTF-8 的编码。
在 IE 浏览器里,点击「设置>Internet选项>高级」,勾选「发送非 Intranet URL 的 UTF-8 查询字符串」和「以 UTF-8 形式发送 URL 路径」缺一不可,如下图所示:
售前咨询电话
400-811-8890转1
在线技术支持
请前往「服务平台」,选择「在线支持」
热线电话:400-811-8890转2
总裁办24H投诉
热线电话:173-1278-1526
文 档反 馈
鼠标选中内容,快速反馈问题
鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。
不再提示
10s后关闭