如何使用 GroupDocs.Merger for Java 高效合併 XLSX 檔案

將多個 XLSX 試算表合併為單一活頁簿是分析師、財務團隊以及需要快速整合資料的開發人員常見的需求。在本教學中,您將了解如何使用 GroupDocs.Merger for Java 合併 how to merge xlsx 檔案,從庫的安裝到最終檔案儲存,並提供保持記憶體使用低且效能高的實用技巧。

快速解答

  • 哪個程式庫負責在 Java 中合併 XLSX? GroupDocs.Merger for Java.
  • 最低 Java 版本? Java 8 或更新版本。
  • 我可以合併超過兩個活頁簿嗎? 可以——串接 join 呼叫以合併無限檔案。
  • 生產環境需要授權嗎? 商業授權可解鎖全部功能;亦提供免費試用。
  • 200 工作表活頁簿的典型合併時間? 在標準 VM 上低於 2 秒。

「how to merge xlsx」是什麼?

「How to merge xlsx」 指的是以程式方式將兩個或多個 Excel 活頁簿合併為單一檔案的過程,並保留工作表、公式與格式。最常見的 Java 方法是使用專屬 API 抽象低階檔案處理,使此任務僅需數行程式碼即可完成。

為什麼使用 GroupDocs.Merger for Java?

GroupDocs.Merger 支援 60 多種輸入與輸出格式——包括 XLSX、CSV、PDF、DOCX 及 PPTX——讓您無需額外轉換器即可統一不同文件類型的資料。它能在不將整個檔案載入記憶體的情況下合併 最多 500 工作表的活頁簿,相較於手動使用 Apache POI 迴圈,可減少 30 % 的 CPU 使用率

前置條件

  • Java Development Kit 8 或以上已安裝。
  • GroupDocs.Merger for Java 程式庫(Maven、Gradle 或直接下載)。
  • 基本的 Java I/O 知識。

必要的程式庫與相依性

  • GroupDocs.Merger for Java – 透過您的建置工具加入。

Maven:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger</artifactId>
    <version>latest-version</version>
</dependency>

Gradle:

implementation 'com.groupdocs:groupdocs-merger:latest-version'

直接下載

GroupDocs.Merger for Java releases 下載最新版本。

取得授權步驟

  1. Free Trial – 在未使用授權金鑰的情況下探索核心功能。
  2. Temporary License – 取得 30 天的金鑰以進行延伸測試。
  3. Purchase – 取得永久授權以用於正式環境部署。

GroupDocs.Merger 在 Java 中如何合併 XLSX 檔案?

載入主要活頁簿,使用 join 附加其他活頁簿,最後呼叫 save 寫入合併後的檔案。此三步流程在一般 10 工作表檔案下執行時間低於一秒,且隨工作表數量線性擴展,同時在內部以串流方式處理資料以保持記憶體使用低,並保留公式與格式。

定義錨點:Merger 類別

Merger 類別是 GroupDocs.Merger 的核心物件,代表單一來源文件,並提供合併、分割或重新排序檔案的方法。

步驟實作說明

步驟 1:定義輸出路徑

選擇一個用於儲存合併後活頁簿的資料夾。

String outputFolder = "YOUR_OUTPUT_DIRECTORY";
String outputFile = new File(outputFolder, "merged.xlsx").getPath();

步驟 2:以主要 XLSX 初始化 Merger

建立指向您想作為基礎的第一本活頁簿的 Merger 實例。

Merger merger = new Merger("YOUR_DOCUMENT_DIRECTORY/SAMPLE_XLSX");

步驟 3:將其他活頁簿加入合併佇列

對每個額外檔案使用 join;此方法會依提供的順序附加所有工作表。

merger.join("YOUR_DOCUMENT_DIRECTORY/SAMPLE_XLSX_2");

步驟 4:儲存合併後的活頁簿

使用輸出路徑呼叫 save;API 會寫入一個包含所有來源檔案工作表的新 XLSX。

merger.save(outputFile);

方法摘要

  • Merger(String filePath) – 為給定的來源檔案建立 Merger 實例。
  • join(String filePath) – 將另一個活頁簿加入合併佇列。
  • save(String outputPath) – 將最終合併的文件寫入磁碟。

實務應用

合併 Excel 活頁簿在多個領域都很有用:

  1. Java merge excel worksheets – 將每月銷售工作表合併為年度報告。
  2. Java merge excel workbooks – 合併部門預算以形成公司概覽。
  3. Merge excel files java – 彙總分散於不同檔案的調查結果。
  4. Java merge excel documents – 從多個團隊收集的專案狀態日誌組合。
  5. GroupDocs Merger Java – 使用單一 API 在同一流程中同時處理 Excel 與 PDF 合併。

效能考量

優化記憶體使用

  • Batch Processing: 將檔案分批(每批 20 個)載入與合併,以將堆積記憶體佔用維持在 200 MB 以下。
  • Garbage Collection: 若觀察到記憶體峰值,於每批作業後呼叫 System.gc()

資源使用指引

  • 使用 VisualVM 監控 JVM 堆積;將使用率維持在分配記憶體的 75 % 以下,以避免 OutOfMemory 錯誤。
  • 將同時合併的數量限制在 CPU 核心數,以防止執行緒爭用。

Java 記憶體管理最佳實踐

  • 開啟串流時使用 try‑with‑resources,確保自動關閉。
  • 避免儲存大型位元組陣列;讓 GroupDocs 內部處理串流。

常見問題與解決方案

  • Problem: 合併後的活頁簿遺失儲存格公式。
    Solution: 確保來源檔案已儲存為最新的 XLSX 格式;較舊的 Excel 97‑2003 檔案可能需要先轉換。

  • Problem: 在極大型合併時發生 OutOfMemoryError
    Solution: 將操作分成較小的批次,並在每批之後呼叫 System.gc()

  • Problem: 工作表順序不如預期。
    Solution: 依您希望的順序呼叫 join,或在合併後使用 reorder API 重新排序(此處未示範)。

常見問答

Q: 我可以一次合併超過兩個 XLSX 檔案嗎?
A: 可以——重複呼叫 join;雖無硬性上限,但效能取決於檔案大小與可用記憶體。

Q: 使用 GroupDocs.Merger 需要哪個 Java 版本?
A: 支援 Java 8 或更新版本,且完全相容至 Java 21。

Q: 合併是否有檔案大小限制?
A: 此程式庫可處理每個檔案最高 2 GB,但實際限制取決於您的 JVM 堆積大小。

Q: 合併過程中如何處理錯誤?
A: 將合併程式碼包在 Exception 的 try‑catch 區塊中;檢查 MergerException 以取得詳細訊息。

Q: GroupDocs.Merger 能處理其他格式嗎?
A: 當然可以——除了 XLSX,還支援 PDF、DOCX、PPTX、HTML 以及超過 60 種其他格式。

結論

您現在已擁有使用 GroupDocs.Merger for Java 合併 how to merge xlsx 檔案的完整、可投入生產的解決方案。依照上述步驟,您可以自動化資料整合、減少手動複製貼上的錯誤,並將記憶體消耗控制在合理範圍。

後續步驟

  • 探索 splitreorder 功能,以進一步操作 Excel 活頁簿。
  • 將合併例程整合至 Spring Boot 微服務,以實現即時報表產生。

最後更新: 2026-06-11
測試環境: GroupDocs.Merger 23.5 for Java
作者: GroupDocs

資源

import com.groupdocs.merger.Merger;
// Initialize Merger with your source XLSX file
Merger merger = new Merger("YOUR_SOURCE_XLSX_PATH");

相關教學