【已下架插件文档】输出离线HTML报表插件帮助文档

楼主
我是社区第1771067位番薯,欢迎点我头像关注我哦~

 

该插件目前已下架帆软市场,本文档仅提供给历史使用了该插件的客户,帆软目前不再提供该插件的任何获取渠道。

 

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,如下图:

 

注:如果需要传递参数请直接在 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 文件夹:

 

 

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

分享扩散:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 1关注人数 2665浏览人数
最后回复于:2023-3-28 14:59

返回顶部 返回列表