历史版本11 :决策报表导出 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本

功能变动
11.0-
11.0.1导出接口新增 &op=export&format=xxx

1.2 应用场景

FineReport 11.0 中包含两种决策报表:「决策报表」和「旧决策报表」,其主要的区别在于 自适应属性 的不同。

而两种决策报表的导出方式也有区别,本文将主要介绍 11.0 默认的决策报表在 PC 端的导出方式,「旧决策报表」的导出请参见文档决策报表导出插件 

1.3 功能简介

决策报表支持导出为  Excel、PDF 、Word 和 PNG 格式:

  • 普通决策报表导出接口为 &op=export&format=xxx 或 &export_format=xxx ,xxx 代表导出格式对应的参数。

  • 带参决策报表需在导出后缀中加上 sessionID,即 &op=export&format=xxx&sessionID=*** 或 &export_format=xxx&sessionID=***

  • 导出时可自定义尺寸,在后缀末尾再添加参数 &width=1920&height=1080

  • 导出时可修改文件名,在后缀末尾再添加参数 &__filename__=文件名

注:11.0.1 版本之前仅支持使用 &export_format=xxx 。

1.4 注意事项

1)以下是导出时,某些场景支持与不支持的情况,支持打勾,不支持为空:

功能项
导出为Word导出为Excel导出为PDF导出为PNG
body 背景

动态背景





图表块/报表块背景为颜色
图表块/报表块背景为渐变色

图表块背景为图片


报表块背景为图片

组件/body 背景透明度



组件重叠

组件圆角

单元格显示不全

参数面板/参数面板控件



body 中的控件(有显示值)
组件线型边框


组件自定义图片边框



移动端

Tab 组件只导出第一个 Tab 页

报表块存在多分页时,只导出第一个分页
当存在组件重叠时,导出文件中 Tab 组件总在最底层
2)自适应和参数传递场景下的说明如下表所示:
场景细化场景URL添加导出参数导出使用sessionID导出(导出后的纸张会小于URL导出的纸张)使用控件值导出
自适应
存在隐藏报表块情况下的自适应模板导出默认自适应不支持
无自适应效果不支持
其他导出后会预留出隐藏报表块的位置支持
存在自定义报表&图表标题下的自适应模板导出默认自适应不支持
无自适应效果
其他支持支持
其他自适应场景下的模板导出默认自适应不支持无自适应效果
其他支持支持
参数传递根据参数面板控件值进行导出,不查询直接导出不支持不支持
根据参数面板控件值进行导出,查询后导出不支持
支持

2. 普通决策报表导出编辑

若决策报表没有参数设置,那么将决策报表整体导出为 Excel、PDF 、Word 和 PNG 格式,只需要在「PC端预览」时的 URL 链接添加后缀 &op=export&format=xxx,回车即可导出。xxx 代表导出格式对应的参数, 如下表所示:

导出格式
添加后缀
Excel&op=export&format=excel
Word&op=export&format=word
PDF&op=export&format=pdf
PNG&op=export&format=image

注:对于不带参的决策报表,导出接口也支持 &format=xxx 这种写法。

例如导出决策报表为 Excel ,如下图所示:

Snag_121d6ca.png

3. 带参决策报表导出编辑

决策报表中含有参数时,决策报表或决策报表内的组件内容,会因为参数(例如参数查询,主子报表等)变化而改变。那么使用 URL 导出决策报表时,需要添加 sessionID 来导出当前查询结果,否则导出内容会与参数查询内容不一致。

注:浏览器请求 Web 服务,在创建会话时,服务器会为每一个会话生成一个单独的会话标识,这个会话标识就是 sessionID,以长整形数据类型返回。sessionID 就等于本次会话的 ID 记录。

3.1 添加初始化后事件

在带参数的决策报表中,需要给参数面板「para」添加一个「初始化后」事件,去返回 sessionID 。

选中参数面板,添加「初始化后」事件,设置一个参数「aaa」,值选择 F(x) 类型后输入公式:sessionID。再输入 JavaScript 代码 :

alert(aaa);

步骤如下图所示:

1614829415187471.png

3.2 获取 sessionID 导出

1)保存报表,点击「PC端预览」,弹出当前 sessionID,复制当前 sessionID 后,点击确定。如下图所示:

1638261671841111.png

注:sessionID 每次刷新都会变化。

2)URL 后缀加上&op=export&format=xxx&sessionID=***,xxx 代表导出文件格式对应的参数,*** 代表复制的当前 sessionID ,回车即可导出当前的查询结果。

Snag_12b616b.png

3.3 模板下载

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\frm\带参决策报表导出.frm

点击下载模板:带参决策报表导出.frm

4. JS 实现点击按钮导出带参决策报表编辑

通过在参数面板添加「按钮控件」(也可以在 body 直接添加按钮控件),设置参数「aaa」获取当前sessionID ,添加「点击事件」实现导出。

4.1 添加按钮控件

以第 3.3 节的模板为例,在参数面板中添加「按钮控件」,按钮名称为「导出Excel」,如下图所示:

Snag_10bb68b.png

4.2 添加点击事件

选中「按钮控件」,添加一个「点击事件」,设置一个参数「aaa」,值选择 F(x) 类型后输入公式:sessionID。在输入 JavaScript 代码:

var REPORT_URL ='${servletURL}?viewlet=doc/frm/带参决策报表导出.frm&op=form_adaptive&op=export&format=excel&sessionID=' + aaa;
window.location = encodeURI(REPORT_URL);

如下图所示:

4.3 效果预览

保存报表,点击「PC端预览」,点击「查询」按钮后再点击「导出Excel」按钮。效果如下所示:

875A24FE-D196-4019-86C5-62CECD7110C2.GIF

4.4 模板下载

点击下载模板:JS 实现点击按钮导出带参决策报表.frm