當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

後台批量導出Excel

1. 概述

1.1 應用場景

一張報表可以根據不同的條件統計出不同的數據結果,若您希望将每一種條件下的結果都保存下來如導出成 Excel 文件至磁盤,您可以在後台調用 FineReport 的導出接口 ExcelExporter 将每種情況下的結果批量保存起來。

1.2 實現思路

通過程序批量導出結果至 Excel,首先是遍曆讀取 para.txt 中的每組參數值,将該參數值組合傳入模板進行計算,然後将結果導出 Excel,循環直至最後一條參數組合。

2. 操作步驟

下面以%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\Parameter\Parameter.cpt這張報表爲例,實現後台批量導出 Excel。

2.1 參數值組合

由於不同參數組合有不同計算結果,因此需要獲得所有可能的參數值組合,可以來源於數據庫中某個表,或者某個文件。

将參數值組合保存在文本文件如 para.txt 中,将文件放到%FR_HOME%\webapps\webroot\WEB-INF\目錄下,文件的格式如下:

如果只有一個參數,格式如下圖所示:

Snag_2b8480.png

如果模板有兩個參數,參數和參數值之間需要用逗号隔開,格式如下圖所示:

Snag_350405.png

2.2 批量導出程序

完整代碼:https://code.fanruan.com/demo/example/src/release/10.0/src/main/java/com/fr/io/ExportBatch.java

注1:在使用 API 導出不同類型文件時,需要導入的 JAR 包如下:

  • FineReport默認 JAR 包

  • %FR_HOME%\webroot\WEB-INF\lib目錄下的sqlite-jdbc.jar

  • %Tomcat_HOME%\lib目錄下的servlet-api.jar

  • %JAVA_HOME%\jdk\lib目錄下的tools.jar

注2:如果導出的 Excel 只有模板的格式,卻沒有數據,請确認上述代碼段中關於定義報表環境的代碼是否正确或者存在,如果不正确或者不存在,則會導緻 Excel 中沒有數據。

上述爲示例程序,其中報表運行環境與模板名稱等需要根據您實際環境進行修改。

啓動設計器,編譯運行該程序您便可以得到結果,下載目錄下将生成 2 個 Excel 文件,至此批量導出便成功了。

附件列表


主題: 原簡體文檔
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

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

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

不再提示

9s後關閉

反饋已提交

網絡繁忙