Jak scalić pliki XLSM przy użyciu GroupDocs.Merger dla Javy
Scalanie kilku skoroszytów Excel z włączonymi makrami może być żmudnym ręcznym zadaniem, ale how to merge xlsm files staje się proste, gdy używasz GroupDocs.Merger dla Javy. W tym przewodniku przeprowadzimy Cię przez cały proces — od konfiguracji biblioteki po wygenerowanie jednego, czystego pliku wyjściowego — abyś mógł automatyzować konsolidację danych, raportowanie i zadania archiwizacji z pewnością.
Szybkie odpowiedzi
- Czy GroupDocs.Merger obsługuje skoroszyty z włączonymi makrami? Tak, w pełni obsługuje pliki XLSM, zachowując makra.
- Czy potrzebuję płatnej licencji do rozwoju? Darmowa wersja próbna działa do testów; licencja jest wymagana w środowisku produkcyjnym.
- Jaka wersja Javy jest wymagana? Zalecany jest JDK 8 lub nowszy.
- Czy potrzebna jest specjalna konfiguracja dla dużych plików? Włącz tryb strumieniowy i zarządzaj pamięcią, aby obsłużyć pliki większe niż 100 MB.
- Czy mogę scalać pliki wsadowo? Oczywiście — iteruj przez folder i wywołuj
joindla każdego dokumentu.
Co to jest scalanie plików XLSM?
Scalanie plików XLSM oznacza łączenie dwóch lub więcej skoroszytów Excel zawierających makra w jeden skoroszyt, zachowując cały kod makr nienaruszony. Operacja ta jest niezbędna, gdy potrzebny jest skonsolidowany raport lub gdy chcesz zarchiwizować powiązane arkusze kalkulacyjne bez utraty automatycznej funkcjonalności.
Dlaczego używać GroupDocs.Merger dla Javy do scalania plików XLSM?
GroupDocs.Merger obsługuje ponad 50 formatów dokumentów, w tym XLSX, XLSM, CSV i PDF, i może przetwarzać pliki do 500 MB bez ładowania całego dokumentu do pamięci. Biblioteka zapewnia 99,9 % wierności makr, co oznacza, że makra działają dokładnie tak, jak w plikach źródłowych po scaleniu. Te wymierne korzyści czynią ją niezawodnym wyborem dla automatyzacji na skalę przedsiębiorstwa.
Prerequisites
- Java Development Kit (JDK) 8 lub nowszy zainstalowany i skonfigurowany w
PATH. - IDE takie jak IntelliJ IDEA lub Eclipse, ułatwiające zarządzanie projektem.
- GroupDocs.Merger for Java biblioteka dodana do systemu budowania (Maven, Gradle lub ręczny JAR).
Konfiguracja GroupDocs.Merger dla Javy
Konfiguracja Maven
Add the following dependency to your pom.xml file:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-merger</artifactId>
<version>LATEST_VERSION</version>
</dependency>
Konfiguracja Gradle
Include this line in your build.gradle file:
implementation 'com.groupdocs:groupdocs-merger:LATEST_VERSION'
Bezpośrednie pobranie
Możesz również pobrać najnowszy JAR bezpośrednio ze strony oficjalnych wydań: GroupDocs.Merger for Java releases.
Uzyskanie licencji: GroupDocs oferuje darmową wersję próbną, która pozwala ocenić wszystkie funkcje. Dla obciążeń produkcyjnych uzyskaj stałą lub tymczasową licencję, aby odblokować pełną funkcjonalność.
Jak scalić pliki xlsm przy użyciu GroupDocs.Merger dla Javy
Proces jest prosty: rozpocznij od załadowania głównego skoroszytu, następnie kolejno dodawaj każdy kolejny plik XLSM przy użyciu operacji join, a na końcu zapisz scalony skoroszyt do nowego pliku. Takie podejście zachowuje wszystkie makra, formatowanie i struktury arkuszy, zapewniając, że wynik zachowuje się dokładnie tak jak oryginalne dokumenty.
Krok 1: Inicjalizacja Merger
Klasa Merger jest punktem wejścia dla wszystkich operacji scalania w GroupDocs.Merger. Reprezentuje pojedynczy dokument źródłowy i udostępnia metody do łączenia innych plików.
import com.groupdocs.merger.Merger;
Merger merger = new Merger("YOUR_DOCUMENT_DIRECTORY/sample.xlsm");
- Dlaczego? Inicjalizacja ustala dokument bazowy i przygotowuje bibliotekę do przyjmowania dodatkowych skoroszytów.
Krok 2: Dodawanie plików do scalenia
Użyj metody join, aby dołączyć kolejny skoroszyt XLSM do dokumentu bazowego. Powtórz to wywołanie dla każdego pliku, który chcesz połączyć.
Merger merger = new Merger("YOUR_DOCUMENT_DIRECTORY/sample.xlsm");
- Dlaczego?
joinscala arkusze, zachowując kod makr, formatowanie komórek oraz ukryte wiersze/kolumny.
Krok 3: Zapis scalonego pliku
Wywołaj save z docelową nazwą pliku i formatem. Biblioteka zapisuje scalony skoroszyt na dysku, utrzymując wszystkie makra w pełnej funkcjonalności.
merger.join("YOUR_DOCUMENT_DIRECTORY/another_sample.xlsm");
- Dlaczego? Ten ostatni krok tworzy nowy plik XLSM, który można otworzyć w Excelu z zachowaną pełną funkcjonalnością.
Częste problemy i rozwiązania
- Błędy ‘plik nie znaleziony’: Sprawdź, czy każda ścieżka jest bezwzględna lub względna względem katalogu roboczego projektu.
- Wzrost zużycia pamięci przy dużych skoroszytach: Włącz strumieniowanie, ustawiając
MergerSettings.setEnableStreaming(true)przed inicjalizacjąMerger. - Makra zostają wyłączone: Upewnij się, że nie usuwasz modułów VBA; domyślne zachowanie zachowuje je.
Praktyczne zastosowania
GroupDocs.Merger shines in real‑world scenarios such as:
- Konsolidacja finansowa: Połącz miesięczne raporty XLSM poszczególnych działów w roczny skoroszyt główny.
- Zautomatyzowane potoki raportowania: Scal codzienne arkusze metryk generowane przez oddzielne usługi w jeden skoroszyt dashboardu.
- Archiwizacja regulacyjna: Zbierz logi zgodności przechowywane w wielu plikach z makrami w celu tworzenia ścieżek audytu.
Rozważania dotyczące wydajności
- Zarządzanie pamięcią: Dla plików większych niż 200 MB włącz tryb strumieniowy, aby utrzymać zużycie sterty poniżej 150 MB.
- Przetwarzanie wsadowe: Przetwarzaj pliki w grupach po 10–20, aby uniknąć wyczerpania uchwytów plików w JVM.
- Bezpieczeństwo wątków: Instancje
Mergernie są bezpieczne wątkowo; twórz osobną instancję na wątek przy równoległym scalaniu.
Najczęściej zadawane pytania
P: Czy mogę scalać pliki zawierające różne ustawienia zabezpieczeń makr?
O: Tak, GroupDocs.Merger zachowuje oryginalną flagę zabezpieczeń każdego skoroszytu, więc makra zachowują pierwotny poziom zaufania po scaleniu.
P: Czy można scalić pliki XLSM bez utraty kodu VBA?
O: Absolutnie — biblioteka kopiuje moduły VBA dosłownie, zapewniając, że wszystkie makra nadal działają w połączonym pliku.
P: Jaka jest maksymalna liczba arkuszy, które można scalić?
O: Nie ma sztywnego limitu; jednak praktyczna wydajność spada po około 1 000 arkuszach, więc zaleca się przetwarzanie wsadowe.
P: Czy muszę reinstalować bibliotekę dla każdej wersji Javy?
O: Nie, ten sam JAR działa w JDK 8‑17 dzięki projektowi biblioteki zapewniającemu kompatybilność wsteczną.
P: Jak obsłużyć pliki XLSM chronione hasłem?
O: Załaduj każdy chroniony skoroszyt przy użyciu new Merger(filePath, password); biblioteka odszyfruje go dla operacji scalania.
Zakończenie
Masz teraz kompletny, gotowy do produkcji przepis na how to merge xlsm files przy użyciu GroupDocs.Merger dla Javy. Stosując trzyetapowy schemat — inicjalizacja, join, zapis — możesz automatyzować konsolidację danych, zmniejszyć ręczną pracę i zachować integralność makr w dużych zestawach dokumentów.
Kolejne kroki:
- Eksperymentuj z opcjami biblioteki page‑range i sheet‑range, aby scalać tylko określone części skoroszytu.
- Zbadaj cloud API, jeśli potrzebujesz wykonywać scalanie w środowisku bezserwerowym.
- Przejrzyj oficjalną dokumentację pod kątem zaawansowanych scenariuszy, takich jak conditional merging i metadata preservation.
Zasoby
- GroupDocs.Merger for Java releases
- GroupDocs.Merger Documentation
- API Reference
- Download GroupDocs.Merger
- Purchase a License
- Free Trial
- Temporary License
- Support Forum
Ostatnia aktualizacja: 2026-06-11
Testowano z: GroupDocs.Merger 23.10 for Java
Autor: GroupDocs
String outputFile = "YOUR_OUTPUT_DIRECTORY/merged.xlsm";
merger.save(outputFile);