Ureport2与业务结合

报表相关URL

       在配置好一个包含UReport2的项目后,就可以运行我们的项目,打开UReport2的基于网页的报表设计器,它的地址如下:

UReport2报表设计器URL
http://host[:port][/context-path]/ureport/designer

       如果我们是在本地启动项目,并且服务器端口号为8080,context-path为ureport2-demo,那么我们的报表设计器的URL就是:http://localhost:8080/ureport2-demo/ureport/designer。

       在报表设计器中,设计好报表后,点击左上角的图标就可以在线预览报表(预览报表有两种方式,一种是不分页预览报表;一种是分页预览报表,如果报表数据量较大,我们推荐预览时采用分页方式,这样可以减轻浏览器渲染压力);预览报表的URL如下:

UReport2预览报表URL
http://host[:port][/context-path]/ureport/preview?_u=报表名称

       在上面的URL中有个名为“_u”的参数,它是用来指定当前要预览的报表模版名称,如果是对正在设计器中的报表进行预览,那么它的值就是“p”,这是一个约定的值,表示要预览的是正在设计器中的报表,所以可以看到我们演示时预览的URL都是这样:http://localhost:8080/ureport2-demo/ureport/preview?_u=p 。

预览正在设计中的报表注意事项
在预览正在设计器中设计的报表时(也就是_u=p),UReport2会在点击设计器工具栏 图标时,将设计中的报表模版信息提交到服务器,存放于当前用户的session中(用户会话中),所以一旦用户session失效,如果我们再次直接预览_u=p类型报表时,会看到“com.bstek.ureport.console.exception.ReportDesignException: Report data has expired,can not do preview.”这样的错误提示,表示存放于session中的正在设计器中设计的报表模版已经失效,不能预览。
当然,如果_u的值是一个具体的报表名称,则不存在这种问题,只有正在设计器中设计的报表模版在预览中采用了这种机制,这点需要注意。

       如果预览的不是正在设计器中设计的模版,那么只需要给出具体的报表名称即可,需要注意的是,这里的报表名称要以其ReportProvider中要求的前缀开始,比如http://localhost:8080/ureport2-demo/ureport/preview?_u=file:test.ureport.xml等。

       报表预览后,通过预览页面上方工具栏中一排按钮,可以实现报表的PDF打印、导出Word、Excel、PDF等,对应的相关URL如下:

URL

说明

http://host[:port][/context-path]/ureport/pdf/show?_u=报表名称

这个URL将向浏览器写入一个PDF文件流,在Chrome、Firefox、Edge这些

 浏览器中将会直接在线显示PDF文件内容,这样可以实现在线浏览PDF并打印输出。

http://host[:port][/context-path]/ureport/word?_u=报表名称导出对应报表的Word文件
http://host[:port][/context-path]/ureport/excel?_u=报表名称不分页导出对应报表的Excel文件
http://host[:port][/context-path]/ureport/excel/paging?_u=报表名称分页导出对应报表的Excel文件
http://host[:port][/context-path]/ureport/excel/sheet?_u=报表名称分页分Sheet导出对应报表的Excel文件
http://host[:port][/context-path]/ureport/pdf?_u=报表名称导出对应报表的PDF文件
关于报表参数
上面的这些URL在使用时,如果需要向报表传入参数,可以将这些参数直接放在URL后面使用,如:http://localhost:8080/ureport2-demo/ureport/word?_u=file:test.ureport.xml&deptId=D11&age=50,将报表file:test.ureport.xml导出成word时,传入两个参数,分别是:deptId=D11以及age=50

       上述的这些URL后面除了可以用_u参数来指定要预览的报表名称外,还可以通过_i参数来指定当前要预览报表页码,也就是说如果上述这些URL后面没有_i参数,将会显示整个报表,如果有则显示_i参数指定页码对应的报表,比如URL后面跟_i=2,表示预览报表分页后第2页内容。

       在http://host[:port][/context-path]/ureport/preview对应的HTML报表预览页面中,默认页面上部工具栏会显示一排按钮,用于实现打印和导出其它格式报表,如下图所示:

tools

      在上面的工具栏中,一共有9个按钮,分别用于实现打印及导出其它格式报表, 在实际使用中,如果希望这个工具栏只出现其中某些个工具的话,我们可以参数在URL后面添加_t参数来实现,_t参数如果不指定,那么会显示所有的按钮,否则只显示_t参数指定的按钮。上面这些按钮的显示分别对应参数值:1、2、3、4、5、6、7、8、9,多个参数间用“,”分隔,下面是一些示例:

示例

说明

_t=1,3显示第一个和第三个按钮
_t=1,2,5显示第一个,第二个和第五个按钮
_t=1,2,3,4,5显示第一个,第二个,第三个,第四个和第五个按钮

       如果我们不希望显示HTML预览页面的工具栏,那么设置_t=0即可。

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值