历史版本4 :JS实现预定义导出按钮 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本

10.0

1.2 预期效果

内置的导出按钮不能自定义导出名称,可以用js来实现自定义导出,请参见JS实现自定义导出文件名称

但是如果很多模板都要实现这个功能,每个模板都去写一遍JS,太麻烦了。所以想实现预定义一个导出按钮,所有模板都能通用。

1.3 实现思路

1)遍历参数面板控件,获取对应的参数值。

2)通过内置参数servletURL、reportName分别获取对应模板的路径和名称。

2. 操作步骤编辑

1)打开服务器>控件管理

11.png

2)新建一个控件,并维护一下属性。

①点击新建一个控件

②双击修改名称

③控件名为export

④按钮类型为普通

⑤按钮名字为导出

image.png

3)点击事件,添加参数与JS代码,然后点击右下角确定

参数如下

servletURL:(公式类型)servletURL

reportName:(公式类型)reportName

exportName:(公式类型)indexofarray(split(indexofarray(REVERSEARRAY(split(reportName,"/")),1),".c"),1)+"_"+format(now(),"yyyyMMddHHmm")

JS代码如下


var url=servletURL+"?viewlet="+reportName;
$.each(this.options.form.name_widgets,function(i,item) {
      if(item.options.type!== 'label'&&item.getName()!="PARA"&&item.getName()!="SEARCH"&&item.getName()!="EXPORT") {
      url+="&"+item.getName()+"="+item.getValue();
    }
});
url+="&format=excel&extype=simple&__filename__="+exportName;
window.location=(FR.cjkEncode(url));

此代码实现的效果是默认导出的文件名称为:模板名字_导出时间(具体到分钟)

image.png

4)在参数面板工具栏,点击小三角符就可以看到自定义的导出按钮,按住可以拖动到参数面板。

image.png

4. 注意事项编辑

不适用于移动端