反饋已提交

網絡繁忙

大數據集匯出插件

1. 概述

1.1 版本

報表伺服器版本插件版本功能變更
11.0V1.0.0-
11.0.10V1.1.16

1)插件名稱變更為:大數據集匯出插件
2)支援匯出為 CSV 型別檔案

1.2 應用場景

大批量資料匯出的時候,會對伺服器、網路傳輸、資料庫造成一定的壓力。為了防止這樣的風險,FineReport 推出「大數據集匯出」的功能,可直接根據資料集結果進行匯出。

1.3 功能描述

「大數據集匯出」是一種佔用資源少且速度快的 Excel 匯出方式,無需前臺資料展示即可進行後臺流式匯出。
透過「大數據集匯出 Excel」插件,使用者可以自訂大數據集匯出事件,跨越報表計算直接取數匯出。
實現原理如下:
1)使用 SXSSFWorkbook 流式行匯出,速度快。
2)使用生産者消費者模式,一個執行緒用於取數,把資料行存在佇列中,另一執行緒讀取行匯出。
注:FineReport 設計器支援使用 JavaScript 代碼實現大數據集匯出 Excel,詳情請參見:JS 實現大數據集匯出 Excel 。

1.4 注意事項

1)此功能只支援關系型資料庫。且 SQL Server 資料庫需要把游標設定為伺服器游標。
2)此功能無法直接匯出 date/datetime 型空值,需要在 JDBC 資料連結的 URL 後新增 zeroDateTimeBehavior=convertToNull 參數,如果是 Oracle 資料無需加參數。
3)如果範本有多個參數,且匯出時需要設定參數,那麼這些參數都要設定,不要只設定其中幾個,否則會導緻資料無法匯出。
4)建議匯出的資料量不超過「1000W 行 * 20 列」,資料量超大可能會導緻僅匯出部分資料。
5)匯出的 Excel 是透過 SQL 語句直接從資料庫中獲取的資料,並非報表中的資料,因此報表中設定的資料格式等無法被匯出。
6)此功能不支援行動端。
7)插件版本在 V1.1.10 及之後時,匯出超過 5s 時顯示進度條。
8)支援儲存過程,但是必須按下圖的方式呼叫:

2. 插件介紹

2.1 插件安裝


點選下載插件:大數據集匯出
設計器插件安裝方法參照:設計器插件管理
伺服器安裝插件方法參照:伺服器插件管理

2.2 插件簡介

插件安裝後,在元件事件/範本頁面事件中新增「大數據集匯出」事件型別,如下圖所示:

具體設定和功能如下表所示:

設定項簡介注意事項
匯出檔案名稱
  • 非必填項

  • 可自訂匯出的Excel檔案名稱稱。

  • 不設定則預設為「範本名-資料集名稱」

  • 檔案名稱支援使用參數,範例:=$參數

注:這個等於號不是公式,暫不支援參數加正文的寫法,也就是想要檔案名稱帶參數,檔案名稱就只能是參數


  • 檔案名稱中含有分離字元/時,瀏覽器下載檔案會轉義成

  • 使用參數定義檔案名稱時,這個參數必須是參數面板綁定好元件的,否則無效

匯出格式
  • 預設為 Excel

  • 勾選 CSV 後,可選擇編碼方式為 UTF-8 或 GBK

-

資料集
  • 必選項

  • 用於選擇需要進行匯出的資料集

  • 可選範圍包括伺服器資料集和範本資料集


-

參數
  • 非必選項

  • 用於定義傳入資料集的參數,不填則傳遞空值

  • 點選右上角「重新整理」按鈕,即可抽取出所選資料集中的所有參數和預設值

  • 參數值支援的型別包括:字串、整數型態、雙精度型、日期、布林型、公式

  • 參數指派獨立,不會影響到範本中同名參數的設定

  • 參數選擇型別為儲存格時,需支援獲取到儲存格擴展後結果

匯出資料列
  • 非必選,用於選擇需要匯出的資料列,可多選,如果不選預設匯出所有欄位

  • 新增欄位:點選「智慧新增欄位」,即可抽取出所選資料集中的所有欄位。使用者可對欄位進行重命名或移除部分欄位

  • 移除欄位:按住Ctrl鍵,可選中多個已新增的欄位,點選「移除欄位」並應答,即可移除已新增的欄位

  • 欄位重命名後,匯出的Excel中,列名為重命名的結果

  • 重複新增某個欄位,可選擇是否改寫原先新增的欄位

  • 匯出列名中含有分離字元/ 時,設定匯出的資料列不生效,會將所有資料列匯出

3. 範例一:大數據集匯出固定參數值

3.1 設定範本

開啟%FR_HOME%\webapps\webroot\WEB-INF\reportlets\GettingStarted.cpt
編輯參數面板,新增一個「按鈕元件」,元件名稱和按鈕名稱修改為「匯出」,如下圖所示:

3.2 設定元件事件

選中「匯出」按鈕元件,點選「元件設定>事件」,新增「點選事件」,設定事件型別為「大數據集匯出」,如下圖所示:

「大數據集匯出」事件的具體設定如下圖所示:

  • 匯出檔案名稱為「匯出範例1」

  • 格式為「excel」

  • 資料集為「ds1」

  • 參數地區型別為「字串」,值為「華東」

  • 匯出資料列為「地區、銷售員、産品型別」

3.3 效果預覽

儲存範本,點選「分頁預覽」,點選「匯出按鈕」,即可匯出地區為「華東」的「匯出範例1.xlsx」檔案,如下圖所示:

4. 範例二:大數據集匯出動態參數值

4.1 設定範本

開啟%FR_HOME%\webapps\webroot\WEB-INF\reportlets\GettingStarted.cpt
編輯參數面板,新增一個「按鈕元件」,元件名稱和按鈕名稱修改為「匯出」,如下圖所示:

4.2 設定元件事件

選中「匯出」按鈕元件,點選「元件設定>事件」,新增「點選事件」,設定事件型別為「大數據集匯出」,如下圖所示:

「大數據集匯出 Excel」事件的具體設定如下圖所示:

  • 匯出檔案名稱為「匯出範例2」

  • 格式為「excel」

  • 資料集為「ds1」

  • 參數地區型別為「公式」,值為「$地區」,此時匯出Excel的參數值由另一個參數元件決定。

  • 匯出資料列為「地區、銷售員、産品型別」

儲存範本,點選「分頁預覽」。匯出 Excel 的參數值由下拉框元件的參數值決定。
下拉框元件選擇「華北」,即可匯出地區為「華北」的「匯出範例2.xlsx」檔案,如下圖所示:

附件列表


主題: 報表專題
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉