1.功能简介
决策报表支持导出为 Excel、PDF 、Word 和 PNG 格式:
注:11.0.1 之前的版本,仅支持使用 &export_format=xxx 。11.0.1 及之后版本 &export_format=xxx 接口变更为 &op=export&format=xxx,但 &export_format=xxx 仍支持继续使用。
注意事项
1)以下是导出时,某些场景支持与不支持的情况,支持打勾,不支持为空:
功能项 |
导出为Word |
导出为Excel |
导出为PDF |
导出为PNG |
body 背景 |
✔ |
✔ |
||
动态背景 |
||||
图表块/报表块背景为颜色 |
✔ |
✔ |
✔ |
✔ |
图表块/报表块背景为渐变色 |
✔ |
✔ |
✔ |
|
图表块背景为图片 |
✔ |
✔ |
✔ |
|
报表块背景为图片 |
✔ |
✔ |
||
组件/body 背景透明度 |
||||
组件重叠 |
✔ |
✔ |
||
组件圆角 |
✔ |
✔ |
||
单元格显示不全 |
✔ |
✔ |
||
参数面板/参数面板控件 |
||||
body 中的控件(有显示值) |
✔ |
✔ |
✔ |
✔ |
组件线型边框 |
✔ |
✔ |
||
组件自定义图片边框 |
||||
移动端 |
✔ |
✔ |
||
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 |
|
&op=export&format=pdf |
PNG |
&op=export&format=image |
注:对于不带参的决策报表,导出接口也支持 &format=xxx 这种写法。
例如导出决策报表为 Excel ,如下图所示:
3. 带参决策报表导出
决策报表中含有参数时,决策报表或决策报表内的组件内容,会因为参数(例如参数查询,主子报表等)变化而改变。那么使用 URL 导出决策报表时,需要添加 sessionID 来导出当前查询结果,否则导出内容会与参数查询内容不一致。
注:浏览器请求 Web 服务,在创建会话时,服务器会为每一个会话生成一个单独的会话标识,这个会话标识就是 sessionID,以长整形数据类型返回。sessionID 就等于本次会话的 ID 记录。
3.1 添加初始化后事件
在带参数的决策报表中,需要给参数面板「para」添加一个「初始化后」事件,去返回 sessionID 。
选中参数面板,添加「初始化后」事件,设置一个参数「aaa」,值选择 F(x) 类型后输入公式:sessionID。再输入 JavaScript 代码 :
alert(aaa);
步骤如下图所示:
3.2 获取 sessionID 导出
1)保存报表,点击「PC端预览」,弹出当前 sessionID,复制当前 sessionID 后,点击确定。如下图所示:
注:sessionID 每次刷新都会变化。
2)URL 后缀加上&op=export&format=xxx&sessionID=***,xxx 代表导出文件格式对应的参数,*** 代表复制的当前 sessionID ,回车即可导出当前的查询结果。
4. JS 实现点击按钮导出带参决策报表
通过在参数面板添加「按钮控件」(也可以在 body 直接添加按钮控件),设置参数「aaa」获取当前sessionID ,添加「点击事件」实现导出。
4.1 添加按钮控件
以第 3.3 节的模板为例,在参数面板中添加「按钮控件」,按钮名称为「导出Excel」,如下图所示:
4.2 添加点击事件
选中「按钮控件」,添加一个「点击事件」,设置一个参数「aaa」,值选择 F(x) 类型后输入公式:sessionID。在输入 JavaScript 代码:
var REPORT_URL ='${servletURL}?viewlet=doc/frm/带参决策报表导出.frm&op=form_adaptive&export_format=excel&sessionID=' + aaa;
window.location = encodeURI(REPORT_URL);
如下图所示:
4.3 效果预览
保存报表,点击「PC端预览」,点击「查询」按钮后再点击「导出Excel」按钮。效果如下所示:
总结
企业级Web报表工具帆软FineReport,“专业、简捷、灵活”的特点以及全新版本“安全、稳定、高性能”的新特性让帆软报表开发、使用与管理、可视化图表制作更加便捷。若报表中各个组件间存在PNG,则将报表全部内容导成为一张图片并显示在幻灯片中。若设计的模板中,同一行存在两个图表且其中一个图表隐藏,则无法像网页端做到图表,报表的双若存在单元格边框,预览页面正常但 PPT 中出现部分缺失时,请将缺失单元格相邻的统一位置也设置一次边框。模板中存在报表模块时,若内容过多超过原本图表高度时将会挤压其他图表的位置。批量导出页面的参数控件需要控件名与参数名一一对应。