在 Java 中合併 XLSB 檔案的 GroupDocs.Merger 完全指南
管理多個 Excel Binary Workbook(XLSB)檔案可能令人頭疼,尤其是當您需要一個單一的合併工作簿來進行分析或報告時。如何有效合併 xlsb 檔案的答案是使用 GroupDocs.Merger for Java,這個函式庫只需幾行程式碼即可處理 XLSB 合併。在本教學中,您將了解如何設定函式庫、載入來源工作簿、加入其他檔案,並儲存合併結果——同時保持低記憶體使用量與高效能。
快速解答
- 什麼函式庫可以在 Java 中合併 XLSB? GroupDocs.Merger for Java.
- 需要多少行程式碼? 通常 3‑5 行即可完成完整合併。
- 可以合併大型檔案嗎? 可以——它支援超過 1 GB 的檔案,且不需將整個文件載入記憶體。
- 生產環境需要授權嗎? 商業使用需要有效的 GroupDocs 授權。
- 支援 Maven 或 Gradle 嗎? 兩種建置工具皆完全支援。
如何在 Java 中合併 xlsb 檔案?
使用 new Merger("source.xlsb") 載入主要的 XLSB,對每個額外的工作簿呼叫 join("additional.xlsb"),最後使用 save("merged.xlsb") 儲存結果。這個三步流程在標準硬體上對一般 10 頁檔案可在一秒內完成完整合併,且在批次處理較大文件時亦能有效擴展。
什麼是 GroupDocs.Merger for Java?
GroupDocs.Merger for Java 是一個專用的 API,能以程式方式合併、分割與操作超過 50+ 種文件格式,包括 XLSB、DOCX、PDF、PPTX 以及各類影像。它可在不完整載入至記憶體的情況下處理數百頁的工作簿,與簡單檔案串接方式相比,可將記憶體消耗降低最多 70 %。
前置條件
- GroupDocs.Merger for Java(Maven、Gradle 或直接 JAR)。
- Java Development Kit (JDK) 8+ 已安裝於您的機器上。
- IntelliJ IDEA、Eclipse 或 NetBeans 等 IDE。
- 基本的 Java 檔案處理知識。
設定 GroupDocs.Merger for Java
要將 GroupDocs.Merger 加入您的專案,請依照相應的建置工具說明操作。
Maven:
將以下相依性加入您的 pom.xml:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-merger</artifactId>
<version>latest-version</version>
</dependency>
Gradle:
在您的 build.gradle 檔案中加入以下內容:
implementation 'com.groupdocs:groupdocs-merger:latest-version'
Direct Download:
或者,從 GroupDocs.Merger for Java releases 下載最新版本。
取得授權
- Free Trial: 先下載試用版。
- Temporary License: 取得臨時授權以無限制探索全部功能。
- Purchase: 長期生產使用請購買授權。
初始化與設定
Merger 類別是所有合併操作的入口點。加入相依性後,您可以使用主要 XLSB 檔案的路徑來實例化它:
import com.groupdocs.merger.Merger;
public class MergeXLSBFiles {
public static void main(String[] args) throws Exception {
String documentPath = "YOUR_DOCUMENT_DIRECTORY/sample1.xlsb";
Merger merger = new Merger(documentPath);
// Ready to add more files and merge
}
}
實作指南
以下我們將實作分解為清晰、可執行的步驟。
載入來源 XLSB 檔案
概述:
首先載入將作為合併基礎的主要工作簿。
步驟:
- 初始化 Merger:
使用Merger類別載入初始的 XLSB 檔案。import com.groupdocs.merger.Merger; public class LoadSourceXLSB { public static void run() throws Exception { String documentPath = "YOUR_DOCUMENT_DIRECTORY/sample1.xlsb"; Merger merger = new Merger(documentPath); // Source XLSB file is now loaded } }
新增另一個 XLSB 檔案以合併
概述:
附加需要與來源合併的次要工作簿。
步驟:
- 加入檔案:
join方法會將另一個工作簿加入目前的合併佇列。import com.groupdocs.merger.Merger; public class AddXLSBFile { public static void run(Merger merger) throws Exception { String documentPath = "YOUR_DOCUMENT_DIRECTORY/sample2.xlsb"; merger.join(documentPath); // Merges sample2.xlsb with the source } }
儲存合併後的 XLSB 檔案
概述:
將合併後的工作簿寫入磁碟。
步驟:
- 儲存輸出:
save方法會將合併後的工作簿寫入指定的檔案路徑。import com.groupdocs.merger.Merger; import java.io.File; public class SaveMergedXLSB { public static void run(Merger merger) throws Exception { String outputFolder = "YOUR_OUTPUT_DIRECTORY"; String outputFile = new File(outputFolder, "merged.xlsb").getPath(); merger.save(outputFile); // Saves the merged file } }
實務應用
GroupDocs.Merger for Java 在實務情境中表現出色:
- Data Consolidation(資料整合): 將多個部門的季度財務報告合併成單一工作簿,以供主管審閱。
- Batch Processing(批次處理): 自動合併 ERP 系統產生的每日匯出檔案。
- Cloud Integration(雲端整合): 將合併後的資料直接輸入至雲端分析平台,如 Azure Data Lake 或 AWS QuickSight。
效能考量
為了保持合併快速且記憶體高效:
- Memory Management(記憶體管理): 此函式庫以串流方式處理資料,允許您合併每個高達 1 GB 的 XLSB 檔案,而無需將整個工作簿載入記憶體。
- Batch Processing(批次處理): 處理數十個檔案時,將它們分成 5‑10 個一組,以維持低 GC 壓力並提升整體吞吐量。
- Threading(執行緒): 對於 CPU 密集型工作負載,考慮使用 Java 的
ExecutorService平行化join呼叫——此 API 在唯讀操作下是執行緒安全的。
常見問題與解決方案
- Out‑of‑Memory Errors(記憶體不足錯誤): 確保使用串流 API(預設),並避免在大型工作簿上呼叫
loadAll()。 - File Path Errors(檔案路徑錯誤): 確認所有路徑為絕對路徑或正確相對於工作目錄解析。
- License Exceptions(授權例外): 試用授權在 30 天後過期;在部署前請以永久金鑰取代。
常見問答
Q: 官方支援哪個 JDK 版本?
A: GroupDocs.Merger for Java 支援 JDK 8 至 JDK 21,並在最新的 LTS 版本上完成完整測試。
Q: 我可以合併受密碼保護的 XLSB 檔案嗎?
A: 可以——在使用重載建構子建立 Merger 實例時提供密碼。
Q: 合併檔案的工作表數量有上限嗎?
A: 沒有硬性上限,但極大型工作簿(10 000+ 工作表)可能會延長處理時間;建議使用批次合併。
Q: 我如何驗證合併後公式仍被保留?
A: 儲存後,在 Excel 中開啟合併檔案,檢查公式參照是否完整;GroupDocs.Merger 預設保留公式完整性。
Q: 函式庫是否直接支援雲端儲存(例如 AWS S3)?
A: 雖然核心 API 使用串流,但您可以從 S3 下載檔案為 InputStream,傳給 Merger,再將結果上傳回 bucket。
FAQ 區段
Q1: 哪些 JDK 版本與 GroupDocs.Merger for Java 相容?
A1: GroupDocs.Merger 相容於任何近期的 JDK 版本,請確保使用穩定版。
Q2: 我如何在不產生記憶體問題的情況下處理大型 XLSB 檔案?
A2: 將檔案分成較小批次處理,並最佳化程式碼以有效管理資源。
Q3: GroupDocs.Merger 能否用於除 XLSB 之外的其他檔案格式?
A4: 是的,它支援多種文件格式,包括 PDF、Word 文件等。
Q4: 同時合併的檔案數量有上限嗎?
A5: 雖然沒有硬性上限,但大量大型檔案會降低效能;必要時考慮分階段合併。
Q5: 我該如何排除檔案合併時的問題?
A6: 檢查常見錯誤,如檔案路徑不正確或格式不相容。請參考文件與支援論壇以獲得更多協助。
資源
如需更多資訊,請造訪以下資源:
- 文件說明: GroupDocs.Merger Documentation
- API 參考: GroupDocs API Reference
- 下載: Get GroupDocs.Merger for Java
- 購買: Buy a License
- 免費試用: Start Your Free Trial
- 臨時授權: Request Temporary License
- 支援: GroupDocs Support Forum
探索這些資源以加深了解並提升您在 Java 中使用 GroupDocs.Merger 的實作。祝程式開發愉快!
最後更新: 2026-06-11
測試環境: GroupDocs.Merger 23.12 for Java
作者: GroupDocs