不呈现报表结果,页面直接选报表导出及打印

 

如下图所示,所有报表以列表形式列出,不需要页面呈现报表结果,希望直接选择导出或打印某报表的操作。

imagepng

上图列表页面可由报表模板或自定义 html 脚本实现,下面的例子采用报表模板模拟生成。

接下来介绍,具体的定义方法:

1、 准备生成报表列表的模板文件

注:html 脚本定义该页面的忽略此步

imagepng

其中 B2 单元格为 html 类型

imagepng

表达式内容:

="<a href=\\"#\\" onClick=\\"excel('"+A2+"');return false;\\">导出excel</a>
<a href=\\"#\\" onClick=\\"word('"+A2+"');return false;\\">导出word</a>
<a href=\\"#\\" onClick=\\"pdf('"+A2+"');return false;\\">导出pdf</a>
<a href=\\"#\\" onClick=\\"print('"+A2+"');return false;\\">直接打印</a>"

注:附件文件中有该报表模板文件(export-print.rpx)。

2、 页面定义各“操作”调用的 js 函数及实现

上面定义的操作按钮都对应调用一个功能 js,具体的定义(在发布 1 中报表的 jsp 文件定义即可)如下

imagepng

具体文本内容参考附件文件(directExport.jsp)。

另外,在计算报表的时候,还可能会用到传入参数,可参考如上 url 中“reportParamsId”

imagepng

3、 准备测试报表

这里随便准备了个,主要是能测试导出报表结果并正确接收了传入参数即可

imagepng

注:附件文件中有该报表模板文件(a.rpx)。

4、 看效果

访问报表列表页面(arg1 传值为 11111)

http://localhost:6868/demo/reportJsp/directExport.jsp?rpx=export-print.rpx&arg1=11111#

imagepng

导出第一个(a.rpx)word 为例,结果

imagepng

将 arg2 值改变一下(改为 22222)

http://localhost:6868/demo/reportJsp/directExport.jsp?rpx=export-print.rpx&arg1=22222#

导出结果

imagepng

其他格式导出及打印均可正常工作。

附件:不显、直导直打印.zip