报表自定义导出文件名

277 阅读1分钟

报表自定义导出文件名

需求背景

一般报表模板文件名按照开发人员定义的规则都是英文或拼音字母,在业务人员使用导出excel或pdf的时候默认文件名为报表模板的文件名,此时用户希望导出文件名是报表的业务名称。

解决方案

硕迪报表提供jsp的标签自定义saveAsName属性,可修改reportJsp目录下的showReport.jsp和queryReport.jsp的report:html标签的saveAsName属性来实现自定义导出文件名。

首先在jsp的java代码的获得到rpx参数后添加如下代码:

String saveAsName = request.getParameter( "saveAsName" );

    if(saveAsName==null || saveAsName.length()==0){

        int start = report.lastIndexOf("/");

        if(start < 0)start = 0;

        int end = report.lastIndexOf(".rpx");

        if(end < 0)end = report.length()-1;

        saveAsName=report.substring(start,end);

    }

本段代码声明了saveAsName变量,先通过请求获得saveAsName参数,如果没有获得到值,使用报表模板文件rpx的文件名。

然后在report:html标签添加saveAsName属性,代码如下

saveAsName="<%=saveAsName%>"

此处saveAsName属性使用的是前边代码处理后saveAsName变量值。