JS大数据集导出文件为0kb

下面为自己改的JS代码,其中查询二级单位、查询工号、查询人员姓名和查询人员账号都是文本控件,要想使上述四个插件的所有值都导出应该怎么修改代码。另外导出文件大小是0kb,也没有报错,是什么原因。谢谢!

//接口为directExportToExcel: function (dsName, fileName, params, colNames)

//注意参数中的特殊字符需要进行url编码,比如大括号,冒号等。

var paramStr = encodeURIComponent("{查询二级单位:\"\",查询工号:\"\",查询人员姓名:\"\",查询人员账号:\"\"}")

//数据集传参

var colNames = encodeURIComponent()

//指定导出的数据列,导出字段按此顺序排列,为空默认导出所有

_g().directExportToExcel("ds1", "全量数据", paramStr, colNames, "excel", " ")

FineReport PAuQ5bvl 发布于 2024-7-29 16:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
JL98Lv6中级互助
发布于2024-7-29 16:40(编辑于 2024-7-29 16:43)

大数据集导出常见问题:https://help.fanruan.com/finereport/doc-view-4654.html

PS:参数名最好不要用中文,看你参数值位置没有放数据

var paramStr = encodeURIComponent("{param1:参数值,param2:参数值,param3:参数值,...}")

image.png

最佳回答
0
CD20160914Lv8专家互助
发布于2024-7-29 16:44

你用的是标签的名称吧。怎么还有冒号??

你用下面这代码吧。要改成你真实的参数名称!!!

--------------------------

//定义数组存放控件名称,改成你真¥实的控件名称

var widgetNames = ['查询二级单位','查询工号','查询人员姓名','查询人员账号'];

function getWidgetValueByName(name) {

var widget = _g().parameterEl.getWidgetByName(name);

if (widget == undefined) return;

return widget.getValue();

}

let paramJson = {}

widgetNames.forEach(function (target) {

paramJson[target] = getWidgetValueByName(target)

})

var paramStr=encodeURIComponent(JSON.stringify(paramJson));

var sql_name=encodeURIComponent("ds1"); // 数据集名称要转码,自己改数据集名称

var excel_name=encodeURIComponent("全量数据"); // 导出的excel文件名,自己修改excel的文件名称

_g().directExportToExcel(sql_name, excel_name, paramStr);

  • PAuQ5bvl PAuQ5bvl(提问者) 老师您好,再请教下我的筛选控件查询二级单位默认读取用户自己的二级单位,我现在用您的方法导出来的话不是全量数据,是用户二级单位的全量数据。如果我想导出全量数据还需要手动把文本控件的二级单位删除,为空才能导出全量数据。如何使导出全量数据按钮和查询分开呀。默认点击全量数据就是导出全量数据呢?谢谢!
    2024-08-01 16:59 
  • CD20160914 CD20160914 回复 PAuQ5bvl(提问者) 没有听懂要求。。。。这个只是按参数来导出的,你用的是什么参数。就传什么参数。
    2024-08-01 17:02 
最佳回答
0
HHHHH123Lv7中级互助
发布于2024-7-29 16:45

paramStr  参数是写死的么,如果是关联控件可能还得js取下参数,再拼接在paramStr 

最佳回答
0
快乐星光Lv5中级互助
发布于2024-7-29 17:06

帮助文档的paramStr格式有问题,我不知道是bug还是我们没有处理好,你可以用下面这个格式重新写一下paramStr:

paramStr = '{startdate:"'+ sdate+'", enddate:"'+edate+'"}';

  • 5关注人数
  • 243浏览人数
  • 最后回答于:2024-7-29 17:06
    请选择关闭问题的原因
    确定 取消
    返回顶部