润乾报表动态导出 Excel 文件名
一、需求说明
1. 报表默认展现时,导出 Excel 文件名为 报表名称 _ 当前日期。
2. 参数查询后:用户选择参数值并点击查询后,导出 Excel 文件名为 报表名称 _ 日期参数值。
二、实现原理
通过 JSP 页面动态计算导出文件名,根据是否有参数值传递来决定使用当前日期还是参数日期。
三、具体实现
1、修改展示页面–showReport.jsp, 添加代码如下:
// 引入日期依赖的类路径
<%@ page import=“java.text.*, java.util.Date” %>
// 获取报表名称
String report1 = report.substring(0,report.lastIndexOf(“.rpx”));
// 获取当前日期
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);
String createdate = sdf.format(date);
// 拼接导出文件名
String name=report1+“_”+createdate;
saveAsName=“<%=name%>”
2、修改参数查询页面–queryReport.jsp, 添加代码如下
<%@ page import=“com.raqsoft.report.util.ReportUtils”%>
// 获取报表名称
String report1 = report.substring(0,report.lastIndexOf(“.rpx”));
// 获取 riqi 参数值
String riqi=ReportUtils.getReportParamValue(request,“riqi”);
// 拼接导出的文件名
String name=report1+“_”+riqi;
saveAsName=“<%=name%>”
四、报表设计
以 demo 数据源中订单表为例,动态查询订购日期的数据。
1. 新建报表,添加报表数据集并设置参数,保存报表名称为 test.rpx
SELECT * FROM 订单 where 订购日期 = ? or ? is null




2. 新建参数模版,设置 web 变量名称为 riqi, 保存报表名称为 test_arg.rpx

3. 将设计好的报表保存到 reportFiles 目录下。
五、预览查看效果
访问报表 url 为:http://localhost:8080/showReport.jsp?report= 销售报表.rpx,
直接点击导出,excel 名称为 test-2026-01-23.xls
输入参数查询之后的导出名称为:test-2012-07-04.xls


【拓展】:
可多个参数拼接,示例代码为:
String param1 = ReportUtils.getReportParamValue(request, “param1”);
String param2 = ReportUtils.getReportParamValue(request, “param2”);
String name = report1 + “_” + param1 + “_” + param2;
