Cách hợp nhất các tệp XLSM bằng GroupDocs.Merger cho Java

Việc hợp nhất nhiều sổ làm việc Excel có macro có thể là một công việc thủ công tẻ nhạt, nhưng how to merge xlsm files trở nên đơn giản khi bạn sử dụng GroupDocs.Merger cho Java. Trong hướng dẫn này, chúng tôi sẽ đi qua toàn bộ quy trình — từ cài đặt thư viện đến tạo ra một tệp đầu ra duy nhất, sạch sẽ — để bạn có thể tự động hoá việc hợp nhất dữ liệu, báo cáo và lưu trữ một cách tự tin.

Câu trả lời nhanh

  • GroupDocs.Merger có thể xử lý sổ làm việc có macro không? Có, nó hoàn toàn hỗ trợ các tệp XLSM đồng thời giữ nguyên macro.
  • Tôi có cần giấy phép trả phí cho việc phát triển không? Bản dùng thử miễn phí hoạt động cho việc kiểm tra; cần giấy phép cho môi trường sản xuất.
  • Yêu cầu phiên bản Java nào? Khuyến nghị sử dụng JDK 8 hoặc mới hơn.
  • Cần cấu hình đặc biệt nào cho các tệp lớn không? Bật chế độ streaming và quản lý bộ nhớ để xử lý các tệp lớn hơn 100 MB.
  • Tôi có thể hợp nhất các tệp theo lô không? Chắc chắn — lặp qua một thư mục và gọi join cho mỗi tài liệu.

Hợp nhất các tệp XLSM là gì?

Hợp nhất các tệp XLSM có nghĩa là kết hợp hai hoặc nhiều sổ làm việc Excel có chứa macro thành một sổ làm việc duy nhất trong khi giữ nguyên toàn bộ mã macro. Thao tác này rất cần thiết khi bạn cần một báo cáo tổng hợp hoặc khi muốn lưu trữ các bảng tính liên quan mà không mất chức năng tự động.

Tại sao nên sử dụng GroupDocs.Merger cho Java để hợp nhất các tệp XLSM?

GroupDocs.Merger hỗ trợ hơn 50 định dạng tài liệu, bao gồm XLSX, XLSM, CSV và PDF, và có thể xử lý các tệp lên tới 500 MB mà không cần tải toàn bộ tài liệu vào bộ nhớ. Thư viện đảm bảo độ chính xác macro 99,9 %, có nghĩa là macro chạy chính xác như trong các tệp nguồn sau khi hợp nhất. Những lợi ích định lượng này khiến nó trở thành lựa chọn đáng tin cậy cho tự động hoá quy mô doanh nghiệp.

Yêu cầu trước

  • Java Development Kit (JDK) 8 hoặc mới hơn đã được cài đặt và cấu hình trong PATH của bạn.
  • IDE như IntelliJ IDEA hoặc Eclipse để quản lý dự án dễ dàng.
  • Thư viện GroupDocs.Merger for Java đã được thêm vào hệ thống xây dựng của bạn (Maven, Gradle, hoặc JAR thủ công).

Cài đặt GroupDocs.Merger cho Java

Cấu hình Maven

Thêm phụ thuộc sau vào tệp pom.xml của bạn:

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

Cấu hình Gradle

Bao gồm dòng này trong tệp build.gradle của bạn:

implementation 'com.groupdocs:groupdocs-merger:LATEST_VERSION'

Tải trực tiếp

Bạn cũng có thể tải JAR mới nhất trực tiếp từ trang phát hành chính thức: GroupDocs.Merger cho Java - các bản phát hành.

License Acquisition: GroupDocs cung cấp bản dùng thử miễn phí cho phép bạn đánh giá tất cả các tính năng. Đối với các tải công việc sản xuất, hãy lấy giấy phép vĩnh viễn hoặc tạm thời để mở khóa đầy đủ chức năng.

Cách hợp nhất các tệp xlsm bằng GroupDocs.Merger cho Java

Quá trình rất đơn giản: bắt đầu bằng việc tải sổ làm việc chính, sau đó lần lượt thêm mỗi tệp XLSM bổ sung bằng thao tác join, và cuối cùng lưu sổ làm việc đã hợp nhất vào một tệp mới. Cách tiếp cận này giữ nguyên tất cả macro, định dạng và cấu trúc sheet, đảm bảo đầu ra hoạt động chính xác như các tài liệu gốc.

Bước 1: Khởi tạo Merger

Lớp Merger là điểm vào cho tất cả các thao tác hợp nhất trong GroupDocs.Merger. Nó đại diện cho một tài liệu nguồn duy nhất và cung cấp các phương thức để kết hợp các tệp khác.

import com.groupdocs.merger.Merger;

Merger merger = new Merger("YOUR_DOCUMENT_DIRECTORY/sample.xlsm");
  • Tại sao? Khởi tạo thiết lập tài liệu cơ sở và chuẩn bị thư viện để nhận các sổ làm việc bổ sung.

Bước 2: Thêm các tệp để hợp nhất

Sử dụng phương thức join để gắn một sổ làm việc XLSM khác vào tài liệu cơ sở. Lặp lại lời gọi này cho mỗi tệp bạn cần kết hợp.

Merger merger = new Merger("YOUR_DOCUMENT_DIRECTORY/sample.xlsm");
  • Tại sao? join hợp nhất các sheet trong khi giữ nguyên mã macro, định dạng ô và các hàng/cột ẩn.

Bước 3: Lưu tệp đã hợp nhất

Gọi save với tên và định dạng tệp đích. Thư viện ghi sổ làm việc đã hợp nhất ra đĩa, giữ cho tất cả macro vẫn hoạt động.

merger.join("YOUR_DOCUMENT_DIRECTORY/another_sample.xlsm");
  • Tại sao? Bước cuối cùng này tạo ra một tệp XLSM mới có thể mở trong Excel với toàn bộ chức năng gốc vẫn nguyên vẹn.

Các vấn đề thường gặp và giải pháp

  • Lỗi không tìm thấy tệp: Xác minh rằng mỗi đường dẫn là tuyệt đối hoặc tương đối so với thư mục làm việc của dự án.
  • Tăng đột biến bộ nhớ với sổ làm việc lớn: Kích hoạt streaming bằng cách đặt MergerSettings.setEnableStreaming(true) trước khi khởi tạo Merger.
  • Macros bị vô hiệu hoá: Đảm bảo bạn không loại bỏ các mô-đun VBA; hành vi mặc định giữ lại chúng.

Ứng dụng thực tiễn

GroupDocs.Merger tỏa sáng trong các kịch bản thực tế như:

  1. Financial consolidation: Kết hợp các báo cáo XLSM hàng tháng của các phòng ban thành một sổ làm việc tổng hợp cuối năm.
  2. Automated reporting pipelines: Hợp nhất các sheet chỉ số hàng ngày được tạo bởi các dịch vụ riêng biệt thành một sổ làm việc bảng điều khiển duy nhất.
  3. Regulatory archiving: Tổng hợp các nhật ký tuân thủ được lưu trong nhiều tệp có macro để tạo chuỗi kiểm toán.

Các cân nhắc về hiệu năng

  • Memory Management: Đối với các tệp lớn hơn 200 MB, bật chế độ streaming để giữ mức sử dụng heap dưới 150 MB.
  • Batch Processing: Xử lý các tệp theo nhóm 10–20 để tránh cạn kiệt các handle tệp trên JVM.
  • Thread Safety: Các instance của Merger không an toàn với đa luồng; tạo một instance riêng cho mỗi luồng khi thực hiện hợp nhất song song.

Câu hỏi thường gặp

Q: Tôi có thể hợp nhất các tệp có cài đặt bảo mật macro khác nhau không?
A: Có, GroupDocs.Merger giữ lại cờ bảo mật gốc của mỗi sổ làm việc, vì vậy macro vẫn giữ mức độ tin cậy gốc sau khi hợp nhất.

Q: Có thể hợp nhất các tệp XLSM mà không mất mã VBA không?
A: Chắc chắn — thư viện sao chép các mô-đun VBA nguyên văn, đảm bảo tất cả macro vẫn hoạt động trong tệp đã kết hợp.

Q: Số lượng sheet tối đa có thể hợp nhất là bao nhiêu?
A: Không có giới hạn cứng; tuy nhiên, hiệu năng thực tế giảm sau khoảng 1.000 sheet, lúc đó nên thực hiện batch.

Q: Tôi có cần cài đặt lại thư viện cho mỗi phiên bản Java không?
A: Không, cùng một JAR hoạt động trên JDK 8‑17, nhờ thiết kế tương thích ngược của thư viện.

Q: Làm thế nào để xử lý các tệp XLSM được bảo vệ bằng mật khẩu?
A: Tải mỗi sổ làm việc được bảo vệ bằng new Merger(filePath, password); thư viện sẽ giải mã nó cho thao tác hợp nhất.

Kết luận

Bây giờ bạn đã có một công thức hoàn chỉnh, sẵn sàng cho sản xuất để how to merge xlsm files bằng GroupDocs.Merger cho Java. Bằng cách tuân theo mẫu ba bước — khởi tạo, join, lưu — bạn có thể tự động hoá việc hợp nhất dữ liệu, giảm công sức thủ công và duy trì tính toàn vẹn của macro trên các tập tài liệu lớn.

Next Steps:

  • Thử nghiệm các tùy chọn page‑rangesheet‑range của thư viện để chỉ hợp nhất các phần cụ thể của một sổ làm việc.
  • Khám phá cloud API nếu bạn cần thực hiện hợp nhất từ môi trường không máy chủ.
  • Xem lại tài liệu chính thức cho các kịch bản nâng cao như conditional mergingmetadata preservation.

Tài nguyên


Cập nhật lần cuối: 2026-06-11
Đã kiểm tra với: GroupDocs.Merger 23.10 for Java
Tác giả: GroupDocs

String outputFile = "YOUR_OUTPUT_DIRECTORY/merged.xlsm";
merger.save(outputFile);

Hướng dẫn liên quan