JS实现分Sheet导出Excel问题

根据文档https://help.fanruan.com/finereport/doc-view-3233.html

我的操作步骤是

添加了导出按钮控件

添加了点击事件,JS为:

var url = 'report?reportlets=';//定义url

var pars = '&format=excel&__filename__=资产负债表';//设置导出格式和导出文件名称

var path = "${reportName}";//获取模板名称和路径

//获取模板中参数值,以数组形式存储,每个参数值对应一个sheet

var json = [];

for (var i = 0; i < org.length; i++) {

       var sheet = {

              reportlet: path,

            org: org[i]

       };

       json.push(sheet);

}

jsonStr = encodeURIComponent(JSON.stringify(json));//对url进行encodeURIComponent编码

url += jsonStr;//给url添加模板参数

url += pars;//给url添加导出参数

alert(url);//打印url

window.open(url);


添加了参数org,值为:

sql("finereport_data","select '0'  orgcode,'全辖' orgname from dual union select  distinct t.lev2_org_code,

t.lev2_org_name from v_fi_org t"

,2)

预览的效果正常,如下图

预览.jpg


但是导出没数据

导出.PNG

应该是JS中时间的参数没有传进去,有没有大神指导一下


FineReport Luka 发布于 2020-12-29 09:53
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
LukaLv6见习互助
发布于2021-1-19 17:16

添加点击事件,JS为:

var url = 'report?reportlets=';//定义url

var pars = '&format=excel&__filename__=资产负债表';//设置导出格式和导出文件名称

var path = "${reportName}";//获取模板名称和路径

//获取模板中参数值,以数组形式存储,每个参数值对应一个sheet

var json = [];

for (var i = 0; i < org.length; i++) {

       var sheet = {

              reportlet: path,

            org: org[i]

       };

       json.push(sheet);

}

jsonStr = encodeURIComponent(JSON.stringify(json));//对url进行encodeURIComponent编码

url += jsonStr;//给url添加模板参数

url += pars;//给url添加导出参数

alert(url);//打印url

window.open(url);


添加参数org,值为:

sql("finereport_data","select '0'  orgcode,'全辖' orgname from dual union select  distinct t.lev2_org_code,

t.lev2_org_name from v_fi_org t",2)


注:将报表中的时间参数删除,写成默认导出上个月数据,之前导出数据为空是因为时间参数没传过去

最佳回答
0
shirokoLv6资深互助
发布于2020-12-29 09:55

image.png

SQL(连接,SQL语句,列,行)

你这没有行,返回的是数组不是单个值啊

  • Luka Luka(提问者) 这个参数这块应该没问题,我试了一下把年月下拉框删了,数据集SQL里面把时间写死导出的Excel就有数据了,应该还是JS的问题
    2020-12-29 10:28 
  • 1关注人数
  • 701浏览人数
  • 最后回答于:2021-1-19 17:16
    请选择关闭问题的原因
    确定 取消
    返回顶部