如何使用 GroupDocs.Merger for Java 合併 XLAM 檔案

合併多個 Excel 宏啟用外掛檔案 (.xlam) 可能是一項繁瑣的手動工作,但當您使用 GroupDocs.Merger for Java 時,如何合併 xlam 檔案就變得簡單直觀。本教學將逐步說明您所需的一切——從環境設定到精確的 API 呼叫——讓您在數分鐘內整合外掛,保持工作流程順暢。

快速解答

  • 我可以使用 GroupDocs.Merger 合併 .xlam 檔案嗎? 是的,該函式庫原生支援 XLAM 合併。
  • 需要哪個 Java 版本? Java 8 或更新版本。
  • 開發需要授權嗎? 免費試用可用於測試;正式環境需購買授權。
  • 一次可以合併多少檔案? 單次操作最多可合併 100 個 XLAM 檔案(受記憶體限制)。
  • 合併是否無損? 該函式庫會完整保留巨集、VBA 程式碼以及嵌入資源,未作任何變更。

GroupDocs.Merger for Java 是什麼?

GroupDocs.Merger for Java 是一個商業 Java 函式庫,提供高階 API 用於合併、分割和操作各種文件格式,包括 Excel 外掛、PDF、Word 與 PowerPoint 檔案。它在內部處理複雜的檔案結構,使開發者無需關注底層格式細節即可操作文件。

為何使用 GroupDocs.Merger 合併 XLAM 檔案?

GroupDocs.Merger 處理 50 多種輸入與輸出格式,且能在不將整個檔案載入記憶體的情況下處理 數百頁的文件,與簡單檔案串接相比,可將最高記憶體使用量降低至 70 %。這使其成為企業規模外掛部署管線的理想選擇。

前置條件

  • Java Development Kit (JDK) 8+ – 確保與函式庫的位元碼相容。
  • IDE – IntelliJ IDEA、Eclipse 或您偏好的任何編輯器。
  • 建置工具 – Maven 或 Gradle 用於相依管理。
  • 基本的 Java 知識 – 您應能輕鬆建立簡易專案並執行 main 方法。

設定 GroupDocs.Merger for Java

安裝說明

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:
您也可以從官方發行頁面下載最新的 JAR: GroupDocs.Merger for Java releases.

取得授權

  1. 免費試用 – 在 GroupDocs 網站註冊並取得試用金鑰。
  2. 臨時授權 – 申請臨時授權以延長評估時間。
  3. 完整購買 – 在 GroupDocs 商店購買正式授權: GroupDocs

基本初始化與設定

在加入相依性後的第一步是建立 Merger 實例。Merger 類別是核心元件,負責協調支援文件類型的合併操作。

import com.groupdocs.merger.Merger;

public class MergeXlamFeature {
    public static void main(String[] args) throws Exception {
        String outputFolder = "YOUR_OUTPUT_DIRECTORY";
        Merger merger = new Merger("YOUR_DOCUMENT_DIRECTORY/SAMPLE_XLAM");
        
        // Additional setup and usage code
    }
}

如何在 Java 中合併 XLAM 檔案?

將每個 XLAM 檔案載入 Merger 實例,對每個額外檔案呼叫 join(),最後使用 save() 將合併後的外掛寫入磁碟。整個流程僅需 三行簡潔程式碼,非常適合 CI/CD 管線或一次性腳本。

步驟 1:初始化 Merger 物件

使用您想作為基礎的第一個 XLAM 檔案建立主要的 Merger 物件。

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

步驟 2:加入其他 XLAM 檔案

join() 方法會將每個後續的 XLAM 檔案附加至現有文件,並保留巨集程式碼、自訂 UI 功能區以及任何嵌入資源。

merger.join("YOUR_DOCUMENT_DIRECTORY/SAMPLE_XLAM_2");

步驟 3:儲存合併後的檔案

save() 方法會將合併後的文件寫入指定的檔案路徑。

String outputFile = new File(outputFolder, "merged.xlam").getPath();
merger.save(outputFile);

說明:

  • 參數 – 為每個來源檔案及目標檔案提供絕對或相對路徑。
  • 目的 – 將多個外掛整合為單一套件,簡化部署與版本管理。

常見問題與解決方案

  • 檔案路徑錯誤 – 確認所有路徑為絕對路徑或相對於工作目錄正確解析。
  • 記憶體不足 – 對於非常大的 XLAM 集合,可增加 JVM 堆積大小 (-Xmx2g) 或將檔案分批處理。
  • 授權例外 – 確保授權金鑰正確載入;否則函式庫會拋出 LicenseException

實務應用

合併 .xlam 檔案在多種實務情境中表現卓越:

  1. 集中式外掛管理 – 管理員可將單一檔案部署至所有工作站,減少更新負擔。
  2. 複雜解決方案 – 將功能分散於多個外掛的專案(例如資料連接器、UI 擴充)可打包合併,以便於部署。
  3. 版本同步 – 多位開發者共同貢獻巨集時,單一合併檔案可確保團隊行為一致。

效能考量

  • 記憶體佔用 – GroupDocs.Merger 以串流方式處理資料,即使是 200 MB 的 XLAM 套件,實際佔用的記憶體也低於 50 MB。
  • 垃圾回收 – 合併完成後,將大型 InputStream 物件設為 null,以協助 GC。
  • 效能分析 – 使用 Java Flight Recorder 或 VisualVM 監控 CPU 使用率;在現代 CPU 上合併 100 個檔案通常在 2 秒內完成。

常見問答

Q: 除了 .xlam,GroupDocs.Merger 還能處理哪些檔案格式?
A: 該函式庫支援超過 50 種格式,包括 PDF、DOCX、PPTX、XLSX,以及 PNG、JPEG 等影像類型。

Q: 我可以合併受密碼保護的 Excel 檔案嗎?
A: 可以。於建立 Merger 實例時提供密碼,函式庫會自動解密並合併。

Q: 合併的巨集數量有上限嗎?
A: 沒有硬性上限;實際限制取決於可用記憶體與 JVM 堆積大小。

Q: 若遇到錯誤,我該如何取得支援?
A: 透過官方支援渠道聯繫,或在社群論壇發問: GroupDocs forums

Q: 合併後的 XLAM 會保留 VBA 專案簽章嗎?
A: 會,現有的數位簽章會被保留,確保安全政策不受影響。

資源


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

相關教學