如何使用 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 下載最新版本。
取得授權步驟
- Free Trial – 在未使用授權金鑰的情況下探索核心功能。
- Temporary License – 取得 30 天的金鑰以進行延伸測試。
- 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 活頁簿在多個領域都很有用:
- Java merge excel worksheets – 將每月銷售工作表合併為年度報告。
- Java merge excel workbooks – 合併部門預算以形成公司概覽。
- Merge excel files java – 彙總分散於不同檔案的調查結果。
- Java merge excel documents – 從多個團隊收集的專案狀態日誌組合。
- 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,或在合併後使用reorderAPI 重新排序(此處未示範)。
常見問答
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 檔案的完整、可投入生產的解決方案。依照上述步驟,您可以自動化資料整合、減少手動複製貼上的錯誤,並將記憶體消耗控制在合理範圍。
後續步驟
- 探索 split 與 reorder 功能,以進一步操作 Excel 活頁簿。
- 將合併例程整合至 Spring Boot 微服務,以實現即時報表產生。
最後更新: 2026-06-11
測試環境: GroupDocs.Merger 23.5 for Java
作者: GroupDocs
資源
- 文件: GroupDocs.Merger for Java Documentation
- API 參考: GroupDocs API Reference
- 下載: Latest Release Download
- 購買: Buy GroupDocs.Merger
- 免費試用: Start Your Free Trial
- 臨時授權: Get a Temporary License
- 支援: GroupDocs Forum
import com.groupdocs.merger.Merger;
// Initialize Merger with your source XLSX file
Merger merger = new Merger("YOUR_SOURCE_XLSX_PATH");