反饋已提交

網絡繁忙

後台批量匯出Excel

1. 概述

1.1 應用場景

一張報表可以根據不同的條件統計出不同的資料結果,若您希望將每一種條件下的結果都儲存下來如匯出成 Excel 檔案至磁碟,您可以在後台呼叫 FineReport 的匯出API ExcelExporter 將每種情況下的結果批量儲存起來。

1.2 實現思路

通程式式批量匯出結果至 Excel,首先是遍歷讀取 para.txt 中的每組參數值,將該參數值組合傳入範本進行計算,然後將結果匯出 Excel,循環直至最後一條參陣列合。

2. 範例

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

由於不同參陣列合有不同計算結果,因此需要獲得所有可能的參數值組合,可以來源於資料庫中某個表,或者某個檔案。這裏範例來源於一個 txt 檔案。

將參數值組合儲存在正文檔案如 para.txt 中,將檔案放到報表工程%FR_HOME%\webapps\webroot\WEB-INF\目錄下,檔案的格式如下:

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

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

2.1 準備編譯環境

編譯程式前,需先建立一個 Java 工程環境,並且需要一個 Java 編輯器,如 Eclipse 或 idea 。

在編輯器工程中引入 FineReport 工程 JAR 包。包括安裝的報表工程

  • %FR_HOME%\webapps\webroot\WEB-INF\lib目錄下 fine 開頭的 12 個 JAR 包。

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

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

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

  • slf4j-simple-1.7.25.jar ,點選可下載:slf4j-simple-1.7.25.rar

  • 如果報表中需要查詢資料庫,還需要匯入對應的 jdbc 驅動或者插件的 JAR 包(如使用 JSON 資料集,就要引入 JSON 資料集插件下的 JAR 包)。

詳細引入程式可參考:編譯Java程式 

2.2 編寫 Java 程式

在編輯器中編寫 Java 程式 ExportBatch.java,即引入必要類後,獲取範本,獲取參數後,將範本按參數個數和內容批量匯出檔案。完整程式碼可參見:

注:使用者使用時,注意將範例程式碼中的工程路徑、範本名稱和匯出路徑更換為使用者自己工程下的。

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

2.3 編譯 Java 檔案

Java 程式編寫完成後,在編譯器中編譯 ExportBatch.java ,編譯透過後,就會在程式碼中匯出路徑的資料夾下生成對應參數個數的 Excel 檔案。如參數檔案使用了只有一個參數的檔案,匯出後將會為華東和華北地區各生成一個 Excel 檔案。如下圖所示:

於是便實現了根據參數個數進行批量匯出。


附件列表


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

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

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

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙