URL输出离线html报表

编辑
  • 文档创建者:文档助手1
  • 浏览次数:6334次
  • 编辑次数:18次
  • 最近更新:Kevin-s 于 2019-06-04
  • 1. 描述

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

    2. 思路

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

    3. 示例

    我们这里仍然以模板%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\form\主从表多源填报.cpt为例

    3.1 启动内置服务器

    打开设计器,随便打开预览一张模板,或者访问服务器管理平台,启动内置服务器。

    3.2 单个模板 URL 导出 HTML

    URL 直接输出离线 HTML 报表,只需要在填报预览报表的 URL 后面直接添加 format 参数等于 write_html 即可,如下:

    http://localhost:8075/webroot/decision/view/report?viewlet=demo%2Fform%2F%5B4e3b%5D%5B4ece%5D%5B8868%5D%5B591a%5D%5B6e90%5D%5B586b%5D%5B62a5%5D.cpt&op=write&format=write_html

    注:离线导出 HTML是指填报预览的模式下,故必须加上op=write。

    在浏览器中输入上述代码,回车即可导出离线 HTML,如下图:

    222

    注:如果需要传递参数请直接在 URL 后面添加 &参数名=参数值。

    3.3 多个模板批量导出 HTML

    上面介绍了单个模板 URL 直接导出 HTML,那么当有多个模板需要批量导出的时候,又该如何操作呢?我们将模板和参数按照如下格式传递过去即可:

    http://localhost:8075/webroot/decision/view/report?viewlet=({reportlet:xxx.cpt,paraname1:paravalue1,paraname2:paravalue2,...},{reportlet:xxx.cpt,paraname1:paravalue1,paraname2:paravalue2,...},{...})&op=write&format=write_html

    注:paraname1:paravalue1,是指导出各模板内容时,对应的参数名和参数值,多个参数中间用逗号隔开。

    比如说我们需要将

    %FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\form\主从表多源填报.cpt%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\form\客户跟踪数据回填.cpt

    两个模板批量导出,并给“主从表多源填报(离线填报)”这个模板传递一个参数,如下代码,在一个 HTML 中定义一个按钮,点击按钮就导出上面 2 张模板的离线 HTML:

    <html>
      <head>  
      <title>FineReport自定义导出</title>  
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
      <script type="text/javascript" src="/webroot/decision/view/report?op=emb&resource=finereport.js"></script> 
      </head>  
      <body>
    <button type="button" onclick="window.open(FR.cjkEncode('/webroot/decision/view/report?viewlet=({reportlet:/demo/form/主从表多源填报(离线填报).cpt,company:52171d25-8e01-4529-b4f7-00eff6326713},{reportlet:demo/form/客户跟踪数据回填.cpt})'+'&op=write'+'&format=write_html'))">输出离线html</button>
      </body>  
    </html>

    注:如果有中文参数,则需要引入 finereport.js,并进行转码,如果需要重命名可以在后面加上 &__filename__=名称。

    导出的压缩包名称为最后一个模板的名称,将压缩包解压出来,可以得到两个模板的离线 HTML 文件夹:

    222


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

    附件列表


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

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]