反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

大数据集导出常见问题

  • 文档创建者:Wendy123456
  • 历史版本:3
  • 最近更新:Catqiu 于 2023-03-29
  • 1. 概述

    本文介绍大数据集导出的常见问题及解决方案。

    注:使用 JS API 进行导出时,若文件名称含有中文,需要进行转译。

    2. 示例

    2.1 大数据集导出的进度条

    问题描述

    按钮写 JS 进行大数据集导出,如果数据量比较大,有一段时间页面看起来没有反应。

    原因分析

    大数据集导出是做了进度条的,但是默认在 5s 之后才会开始显示。

    2.2 自定义按钮导出大数据集只导出部分

    问题描述

    导出 1300w 行 26 列左右的数据,只导出了部分。

    原因分析

    JS实现大数据集导出Excel 建议导出的数据量不超过「1000W 行 * 20 列」,数据量超大可能会导致仅导出部分数据。

    2.3 大数据集导出不支持 spider 数据集

    问题描述

    用户使用的 spider 数据集,明细表,420w 左右的数据量,把数据列拖到单元格,设置了边框就没有其他任何特别的设置了。 用户想把模板导出成 EXCEL,在数据集预览是有数据的,用普通的 EXCEL 导出导出不了,想问大数据集导出可以吗?

    原因分析

    大数据集导出目前只支持关系型数据库,不支持 spider 数据集或者程序数据集等。

    解决方案

    建议使用关系型数据库的普通数据集。

    2.4 大数据集导出 Excel 结果不对

    问题描述

    JS 实现的大数据集导出,用户使用下拉树控件,当选择参数的时候才可以正常导出数据,如果不选择内容,导出的就是空的,但是不选择内容的时候,点击查询是能够查出数据的。

    原因分析

    JS 大数据集导出,多选下拉树控件值不选时,获取到为空数组"[]",而不是空字符串"",导致数据集查询那边参数为空查询全部失败。

    解决方案

    手动在 JS 中给参数赋空值。

    2.5 大数据集导出 Excel 每 100W 行会分页

    大数据集导出 Excel 每 100W 行会到下一个 sheet 。

    2.6 开启行式引擎导出 Excel 行高过小

    问题描述

    行式引擎开启后,大数据量 Excel 导出行高过小,用流式导出插件也是一样的情况。

    解决方案

    如果是 8.0 和 9.0 遇到了这种情况,就调大行高,酌情调整,能够有效的改善这个情况。如果是 10.0 遇到了这种情况,可以通过大数据集导出/新引擎解决。

    2.7 大数据集导出插件设置导出字段保存不了

    问题描述

    大数据集导出插件,如果字段名有“/”符号,设置的导出字段名会无法保存。

    原因分析

    目前不支持特殊字符,HTML 解析会有问题。

    2.8 order by 导致 Excel 导出数据缺失

    问题描述

    数据集总数据量 13 万,导出 Excel 后只有 65535 条,将 SQL 中的 order by 注释掉就能导出全部。&format=excel导出、excel按钮导出、大数据集导出等方法均能复现。

    原因分析

    用户数据库的配置问题。

    解决方案

    将 order by 注释,使用大数据集导出。

    2.9 大数据集导出插件,只导出了字段,没有数据

    问题描述

    系统和设计器都升级 JAR(2021-11-30)后,原先没有问题的模板,使用了大数据集导出插件导出的,在设计器本地目录看没有问题,但是设计器远程连接服务器,以及在服务器平台挂载看都是导出没有数据只有字段名称。

    解决方案

    升级到 2021-12-15 及之后的 JAR 包解决。

    2.10 大数据集导出接口,参数是否支持 JSON 数组格式

    问题描述

    大数据集导出针对一个参数对应多个值的情况,字符串拼接是否支持 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)

    2.11 大数据集导出超时

    问题描述

    使用了 JS 大数据集导出,过了很长一段时间之后没有对应文件下载,进度条也没有了。用户 8w 行* 20 列的数据量,plsql 查询也需要 16 分钟才能查出来,报表点了大数据集导出之后无法对应生成 Excel 下载。

    原因分析

    用户数据量太大,导出的时间需要比较久,而部署 FR 的容器的超时时间设置比较小,所以超时了导致失败。

    解决方案

    参考方案


    附件列表


    主题: 报表专题
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526