反饋已提交
網絡繁忙
大批量数据导出的时候,会对服务器、网络传输、数据库造成一定的压力。
为了防止这样的风险,FineReport 10.0 新增了「大数据集导出」的功能,可直接根据数据集结果进行导出。
「大数据集导出」是一种占用资源少且速度快的 Excel 导出方式,无需前台数据展示即可进行后台流式导出。
通过「大数据集导出 Excel」插件,用户可以自定义大数据集导出事件,跳过报表计算直接取数导出。
实现原理如下:
1)使用 SXSSFWorkbook 流式行导出,速度快。
2)使用生产者消费者模式,一个线程用于取数,把数据行存在队列中,另一线程读取行导出。
注:FineReport 设计器支持使用 JavaScript 代码实现大数据集导出 Excel,详情请参见:JS 实现大数据集导出 Excel 。
1)此功能只支持关系型数据库。且 SQL Server 数据库需要把游标设置为服务器游标。
2)此功能无法直接导出 date/datetime 型空值,需要在 JDBC 数据连接的 URL 后添加 zeroDateTimeBehavior=convertToNull 参数。
3)建议导出的数据量不超过「1000W 行 * 20 列」,数据量超大可能会导致仅导出部分数据。
4)导出的 Excel 是通过 SQL 语句直接从数据库中获取的数据,并非报表中的数据,因此报表中设置的数据格式等无法被导出。
5)此功能不支持移动端。
点击下载插件:大数据集导出 Excel
设计器插件安装方法参照:设计器插件管理
服务器安装插件方法参照:服务器插件管理
插件安装后,在控件事件/模板页面事件中新增「大数据集导出 Excel」事件类型,如下图所示:
具体设置和功能如下表所示:
必选项
用于选择需要进行导出的数据集
可选范围包括服务器数据集和模板数据集
-
非必选项
用于定义传入数据集的参数,不填则传递空值
点击右上角「刷新」按钮,即可抽取出所选数据集中的所有参数和默认值
参数值支持的类型包括:字符串、整型、双精度型、日期、布尔型、公式
参数赋值独立,不会影响到模板中同名参数的设置
参数选择类型为单元格时,需支持获取到单元格扩展后结果
用于选择需要导出的数据列,可多选
添加字段:点击「智能添加字段」,即可抽取出所选数据集中的所有字段。用户可对字段进行重命名或移除部分字段
移除字段:按住Ctrl键,可选中多个已添加的字段,点击「移除字段」并确认,即可移除已添加的字段
字段重命名后,导出的Excel中,列名为重命名的结果
重复添加某个字段,可选择是否覆盖原先添加的字段
导出列名中含有转义字符/ 时,设置导出的数据列不生效,会将所有数据列导出
非必填项
可自定义导出的Excel文件名称。
不设置则默认为「模板名-数据集名称.xlsx」
打开%FR_HOME%\webapps\webroot\WEB-INF\reportlets\GettingStarted.cpt
编辑参数面板,新增一个「按钮控件」,控件名称和按钮名称修改为「导出」,如下图所示:
选中「导出」按钮控件,点击「控件设置>事件」,新增「点击事件」,设置事件类型为「大数据集导出 Excel」,如下图所示:
「大数据集导出 Excel」事件的具体设置如下图所示:
数据集为「ds1」
参数地区类型为「字符串」,值为「华东」
导出数据列为「地区、销售员、产品类型」
导出文件名为「导出示例1」
保存模板,点击「分页预览」,点击「导出按钮」,即可导出地区为「华东」的「导出示例1.xlsx」文件,如下图所示:
参数地区类型为「公式」,值为「$地区」,此时导出Excel的参数值由另一个参数控件决定。
导出文件名为「导出示例2」
保存模板,点击「分页预览」。导出 Excel 的参数值由下拉框控件的参数值决定。
下拉框控件选择「华北」,点击「查询按钮」确定参数值。点击「导出按钮」,即可导出地区为「华北」的「导出示例2.xlsx」文件,如下图所示:
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉