1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
1.2 应用场景
报表服务器开启后,无需打开模板,也无需查看报表,在浏览器地址栏键入报表访问地址+导出参数+导出格式,即可将报表导出为其他格式的文件。
如下图示例,将一个复选框查询模板的两个参数内容导出为 Excel 文件。
1.3 实现思路
URL 后加导出参数的方式:&参数名=xxx,模板没有参数可以不写
URL 后加导出格式的方式:&format=导出格式
URL 直接导出的文件名默认为报表名称,如需重命名请参见: 导出重命名
2. 导出格式写法
2.1 导出格式对照表
各种导出格式对应的写法如下表所示:
导出文件格式 | 分类 | 参数值 |
---|---|---|
PDF文件 | &format=pdf | |
Excel文件 | 分页导出 xlsx 格式 | &format=excel |
原样导出 xlsx 格式 | &format=excel&extype=simple | |
分页分 Sheet 导出 xlsx格式 | &format=excel&extype=sheet | |
分页导出 xls 格式 | &format=excel&extype=page&isExcel2003=true | |
原样导出 xls 格式 | &format=excel&extype=simple&isExcel2003=true | |
分页分 Sheet 导出 xls 格式 | &format=excel&extype=sheet&isExcel2003=true | |
Word文件 | &format=word | |
图片 | JPG 格式 | &format=image&extype=JPG |
PNG 格式 | &format=image&extype=PNG | |
GIF 格式 | &format=image&extype=GIF | |
BMP 格式 | &format=image&extype=BMP | |
txt文件 | &format=text 注:图片斜线等无法导出 | |
SVG文件 | &format=svg | |
CSV文件 | &format=csv |
2.2 注意事项
1)2016-10-10 之前的 JAR 包,导出的 Excel 格式默认为 xls 。
2)多 Sheet 报表导出指定 Sheet 时,参数值为 :&sheets=[sheet序号],Sheet 序号从 0 开始,导出多个 sheet 时序号以逗号分隔。如导出 sheet1:&format=excel&sheets=[0],导出 sheet1 和 sheet2:&format=excel&sheets=[0,1]。
3)多 Sheet 报表导出指定 Sheet 时,如果 Sheet 的序号大于等于 10 则需要:&sheets=[10,],或者:&sheets='+encodeURIComponent("[10]") ; 再编码一次。
4)参数面板的按钮中添加 JS 获取到当前报表 sessionid 的值,并拼接 URL 导出 Excel 时,若要求可以导出页面上修改的控件值以及参数面板中控件传给单元格的值,导出参数要用 op=export&format=excel 而非 &format=excel。
5)URL导出时,导出的模板可能不自适应。详情请参见:导出后不自适应
6)不支持移动端
3. 参数查询后按钮导出
此处为场景延伸,希望报表参数查询后可以通过按钮导出模板。方法如下:
1)打开设计器内置模板: %FR_HOME%\webroot\WEB-INF\reportlets\GettingStarted.cpt
2)在参数面板新增一个按钮,按钮名称为「导出」。
3)添加一个「点击」事件,实现点击按钮后导出成 Excel 。
设置参数aaa,值为公式sessionID
设置JavaScript 代码如下:
var REPORT_URL = '${servletURL}?op=export&format=excel&sessionID=' + aaa;
window.location = encodeURI(REPORT_URL);
保存模板并预览,查询后点击导出按钮即可导出成 Excel 。