只用JS大数据集导出的时候,文件为0KB,打开文件提示文件格式错误或文件扩展名错误

https://help.fanruan.com/finereport10.0/doc-view-2597.html

var widgetNames = ['medicalcompany','businesscompany', 'businessman','accountant']; //定义数组存放控件名称function getWidgetValueByName(name) {        var widget = _g().parameterEl.getWidgetByName(name); //根据控件名获取控件值        if (widget == undefined) return;        var obj = {};        obj[name] = widget.getValue();        return obj; //返回控件值组成的数组}var paramJson = widgetNames.map(getWidgetValueByName).reduce(function(a, b) {        return Object.assign(a, b)});var paramJsonStr = JSON.stringify(paramJson); //将json数据转换为字符串_g().directExportToExcel("ds3", "库存签字确认表", encodeURIComponent(paramJsonStr), "");

7953c6be-5d5b-4a42-b3c7-815d84fc319d.jpeg

FineReport 苏随风 发布于 2023-11-3 08:56 (编辑于 2023-11-3 09:02)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-11-3 08:58(编辑于 2023-11-3 09:15)

你完整的js语句是如何写的。发出来一下

var widgetNames = ['year_code','myname']; //定义数组存放控件名称,改成你真实的控件名称,我用year_code与myname做了测试

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);

最佳回答
0
snrtuemcLv8专家互助
发布于2023-11-3 08:59

这个加上列名试试,不要空着

image.png

最佳回答
0
用户k6280494Lv6资深互助
发布于2023-11-3 08:59(编辑于 2023-11-3 09:19)

有几种原因,对照着排查一下

var widgetNames = ['medicalcompany','businesscompany', 'businessman','accountant']; //定义数组存放控件名称。function getWidgetValueByName(name) {

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

//根据控件名获取控件值

if (widget == undefined) 

return;var obj = {};

obj[name] = widget.getValue();return obj; 

//返回控件值组成的数组

}

//将参数拼接起来,若新增参数,直接 widgetNames中此增加控件名即可,此处无需修改。var paramJson = widgetNames.map(getWidgetValueByName).reduce(function(a, b) 

{return Object.assign(a, b)});

var paramJsonStr = JSON.stringify(paramJson); //将JSON数据转换为字符串var col = this.options.form.getWidgetByName("col").getValue();//alert(col);//参数进行URL编码var colNames = encodeURIComponent(col)//var colNames = encodeURIComponent("地区,销售员,产品类型,产品,销量")//指定导出的数据列,导出字段按此顺序排列,为空默认导出所有//调用导出接口//console.log(paramJsonStr);//console.log(colNames);

_g().directExportToExcel("ds3", "库存签字确认表", encodeURIComponent(paramJsonStr), colNames);

  • 苏随风 苏随风(提问者) 这个文档看不了呢
    2023-11-03 09:03 
  • 用户k6280494 用户k6280494 回复 苏随风(提问者) 被禁了
    2023-11-03 09:08 
  • 用户k6280494 用户k6280494 回复 苏随风(提问者) https://bbs.fanruan.com/wenda/question/154497.html 参考一下这个帖子,跟你一样的问题
    2023-11-03 09:23 
  • 3关注人数
  • 355浏览人数
  • 最后回答于:2023-11-3 09:19
    请选择关闭问题的原因
    确定 取消
    返回顶部