URL输出离线html报表

编辑
文档创建者:文档助手1 (67727 )     浏览次数:3131次     编辑次数:14次     最近更新:Holly 于 2017-01-22     

目录:

1. 描述编辑

用户希望不预览模板可以直接输出html报表,比如说在系统中点击某个按钮时就可以直接输出离线html报表,而不是一定要打开该张报表然后再输出,此时该如何操作呢?

2. 思路设计编辑

FineReport支持不预览模板直接输出html报表,即通过URL直接输出,FR不仅支持单个报表的html输出,同时也支持批量导出多个离线html报表,直接在填报预览报表的URL后面增加&format=write_html,既可以通过模板导出为离线html,导出名称为报表名称,也可以重命名

3. 示例编辑

我们这里仍然以模板%FR_HOME%\WebReport\WEB-INF\reportlets\demo\form\Multifill.cpt为例。
3.1 启动内置服务器
打开设计器,随便打开预览一张模板,或者访问服务器管理平台,启动内置服务器。
3.2 单个模板URL导出html
URL直接输出离线html报表,只需要在填报预览报表的URL后面直接添加format参数等于write_html即可,如下:
http://localhost:8075/WebReport/ReportServer?reportlet=xxx.cpt&op=write&format=write_html
注:离线导出html是指填报预览的模式下,故必须加上op=write。
在浏览器中输入http://localhost:8075/WebReport/ReportServer?reportlet=demo/form/Multifill.cpt&op=write&format=write_html,回车即可导出离线html,如下图:
222
注:如果需要传递参数请直接在URL后面添加&参数名=参数值。
3.3 多个模板批量导出html
上面介绍了单个模板URL直接导出html,那么当有多个模板需要批量导出的时候,又该如何操作呢?我们将模板和参数按照如下格式传递过去即可:
http://localhost:8075/WebReport/ReportServer?reportlets=({reportlet:xxx.cpt,paraname1:paravalue1,paraname2:paravalue2,...},{reportlet:xxx.cpt,paraname1:paravalue1,paraname2:paravalue2,...},{...})&op=write&format=write_html
注:paraname1:paravalue1,是指导出各模板内容时,对应的参数名和参数值,多个参数中间用逗号隔开。
比如说我们需要将%FR_HOME%\WebReport\WEB-INF\reportlets\demo\form\Multifill.cpt%FR_HOME%\WebReport\WEB-INF\reportlets\demo\form\Backfill.cpt两个模板批量导出,并给Multifill这个模板传递一个参数,如下代码,在一个html中定义一个按钮,点击按钮就导出上面2张模板的离线html:
<html> <head> <title>FineReport自定义导出</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script> </head> <body> <button type="button" onclick="window.open(FR.cjkEncode('/WebReport/ReportServer?reportlets=({reportlet:/demo/form/Multifill.cpt,company:52171d25-8e01-4529-b4f7-00eff6326713},{reportlet:demo/form/Backfill.cpt})'+'&op=write'+'&format=write_html'))">输出离线html</button> </body> </html>
注:如果有中文参数,则需要引入finereport.js,并进行转码,如果需要重命名可以在后面加上&__filename__=名称。
导出的压缩包名称为最后一个模板的名称,将压缩包解压出来,可以得到两个模板的离线html文件夹:
222

若想批量导出为其他格式可参考自定义批量导出

附件列表


主题: 填报应用
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: