反饋已提交

網絡繁忙

後台批量匯出Excel

一、概述

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

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

二、範例

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

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

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

  4. 如果只有一個參數,格式如下圖1所示。

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

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

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

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

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

    【%Tomcat_HOME%\lib】Tomcat目錄下的 servlet-api.jar

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

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

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

  4. 詳細引入過程可參考:編譯Java過程 。

2
編寫 Java 過程。
  1. 在編輯器中編寫 Java 過程 【ExportBatch.java】,即引入必要類後,獲取範本,獲取參數後,將範本按參數個數和內容批量匯出檔案。完整代碼可參見:https://code.fanruan.com/demo/example/src/release/10.0/src/main/java/com/fr/io/ExportBatch.java

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

3
編譯 Java 檔案。

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

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

附件列表


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

文 檔回 饋

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

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

不再提示

10s後關閉