Praca z arkuszami wielostronicowymi
Wprowadzenie
Jeśli potrzebujesz save each Excel tab jako niezależny plik, GroupDocs.Editor for .NET ułatwia to zadanie. Niezależnie od tego, czy wyodrębniasz raporty finansowe, generujesz arkusze per‑dział lub konwertujesz zakładki na PDF, ten samouczek przeprowadzi Cię przez cały proces — od konfiguracji środowiska po zwalnianie zasobów — abyś mógł automatyzować obsługę wielu arkuszy z pewnością.
Szybkie odpowiedzi
- Czy GroupDocs.Editor może podzielić plik XLSX na osobne pliki? Tak, możesz załadować skoroszyt i wyeksportować każdy arkusz osobno.
- W jakich formatach można zapisać każdą zakładkę? XLSX, CSV, PDF, HTML i inne — obsługiwanych jest ponad 30 formatów wyjściowych.
- Czy potrzebna jest licencja do tej funkcji? Licencja tymczasowa wystarczy do testów; pełna licencja jest wymagana w środowisku produkcyjnym.
- Czy .NET Core jest obsługiwany? Zdecydowanie — biblioteka działa z .NET Framework 4.0+ oraz .NET Core/5/6+.
- Ile zakładek można przetworzyć jednocześnie? GroupDocs.Editor może obsłużyć skoroszyty z ponad 500 arkuszami bez ładowania całego pliku do pamięci.
Co oznacza „save each excel tab”?
“Save each Excel tab” oznacza wyodrębnienie każdego arkusza z wielostronicowego skoroszytu i zapisanie go jako osobny dokument (np. oddzielne pliki XLSX lub PDF). Takie podejście upraszcza dalsze przetwarzanie, raportowanie i dystrybucję, dając plik na każdy arkusz, który można następnie udostępniać, archiwizować lub dalej przetwarzać niezależnie.
Dlaczego warto używać GroupDocs.Editor do tego zadania?
GroupDocs.Editor obsługuje 30+ formatów wejściowych i wyjściowych i może przetwarzać arkusze kalkulacyjne z do 1 000 arkuszami, jednocześnie utrzymując niskie zużycie pamięci dzięki strumieniowaniu danych zamiast ładowania całego pliku. API zachowuje także style komórek, formuły i osadzone obrazy, zapewniając, że każdy wyeksportowany arkusz wygląda identycznie jak oryginał.
Wymagania wstępne
- Visual Studio — dowolna aktualna edycja (Community, Professional lub Enterprise).
- .NET Framework 4.0+ — lub .NET Core/5/6, jeśli wolisz środowisko wieloplatformowe.
- GroupDocs.Editor for .NET — pobierz go ze strony pobierania.
- Licencja — licencja tymczasowa wystarczy do testów; zakup pełną licencję do użytku produkcyjnego.
- Bezpłatna wersja próbna — możesz także wypróbować bibliotekę na stronie bezpłatnej wersji próbnej.
- Wsparcie — jeśli napotkasz problemy, odwiedź forum wsparcia lub rozważ stronę zakupu w celu uzyskania pełnej licencji.
Importowanie przestrzeni nazw
Zanim zaczniemy kodować, musisz zaimportować niezbędne przestrzenie nazw. Dodaj następujące dyrektywy using na początku swojego pliku .cs:
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
Jak zapisać każdą zakładkę Excela jako osobny plik?
Załaduj skoroszyt, utwórz EditableDocument dla każdego arkusza i wywołaj Save z żądanym formatem. Ten proces izoluje każdą zakładkę, pozwala wybrać odrębny ścieżkę wyjściową i automatycznie zwalnia zasoby. Poniżej znajduje się krok po kroku przepływ pracy, wraz z wyjaśnieniami każdego wywołania API oraz wskazówkami najlepszych praktyk, aby uniknąć typowych problemów.
Krok 1: Uzyskaj ścieżkę do pliku wejściowego
Najpierw podaj pełną ścieżkę do źródłowego pliku XLSX, który zawiera wiele zakładek.
string inputFilePath = "Your Sample Document";
Krok 2: Załaduj arkusz kalkulacyjny do instancji Editor
Klasa Editor jest punktem wejścia dla wszystkich operacji na dokumentach w GroupDocs.Editor. Odczytuje strumień pliku i przygotowuje dokument do edycji lub wyodrębniania.
using (FileStream inputStream = File.OpenRead(inputFilePath))
{
using (Editor editor = new Editor(delegate { return inputStream; }, delegate { return new SpreadsheetLoadOptions(); }))
{
// Further steps will go here
}
}
Krok 3: Utwórz EditableDocument z pierwszej zakładki
EditableDocument reprezentuje pojedynczy, edytowalny arkusz w skoroszycie. Konstruktor przyjmuje instancję Editor oraz indeks arkusza zaczynający się od zera.
SpreadsheetEditOptions editOptions1 = new SpreadsheetEditOptions();
editOptions1.WorksheetIndex = 0; // First tab
EditableDocument firstTabBeforeEdit = editor.Edit(editOptions1);
Krok 4: Utwórz EditableDocument z drugiej zakładki
Możesz powtórzyć ten sam schemat dla dowolnego dodatkowego arkusza, zmieniając wartość indeksu.
SpreadsheetEditOptions editOptions2 = new SpreadsheetEditOptions();
editOptions2.WorksheetIndex = 1; // Second tab
EditableDocument secondTabBeforeEdit = editor.Edit(editOptions2);
Krok 5: Zapisz pierwszą zakładkę jako osobny dokument
Save zapisuje edytowany dokument do pliku w określonym formacie. Wywołaj go na instancji EditableDocument, podając ścieżkę wyjściową i format (np. SaveFormat.Xlsx).
SpreadsheetSaveOptions saveOptions1 = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsm);
string outputFilename1 = Path.GetFileNameWithoutExtension(inputFilePath) + "_tab1.xlsm";
string outputPath1 = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), outputFilename1);
editor.Save(firstTabBeforeEdit, outputPath1, saveOptions1);
Krok 6: Zapisz drugą zakładkę jako osobny dokument
To samo wywołanie Save działa dla drugiego arkusza, a w razie potrzeby możesz wybrać inny format, np. PDF.
SpreadsheetSaveOptions saveOptions2 = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsb);
string outputFilename2 = Path.GetFileNameWithoutExtension(inputFilePath) + "_tab2.xlsb";
string outputPath2 = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), outputFilename2);
editor.Save(secondTabBeforeEdit, outputPath2, saveOptions2);
Krok 7: Zniszcz (Dispose) instancje EditableDocument
Dispose zwalnia niezarządzane zasoby trzymane przez dokument, takie jak uchwyty plików, zapewniając brak wycieków w długotrwałych usługach.
firstTabBeforeEdit.Dispose();
secondTabBeforeEdit.Dispose();
Typowe problemy i rozwiązania
- “File is locked” errors – Upewnij się, że wywołujesz
Dispose()na każdymEditableDocumenti na instancjiEditor, lub otocz je instrukcjamiusing. - Missing styles after export – Sprawdź, czy zapisujesz do formatu obsługującego style (np. XLSX lub PDF). CSV z definicji traci formatowanie.
- Large workbooks cause slow performance – Użyj opcji ładowania strumieniowego (
LoadOptions.Streaming = true), aby utrzymać niskie zużycie pamięci.
Najczęściej zadawane pytania
Q: Co jeśli mój skoroszyt zawiera ukryte arkusze?
A: Ukryte arkusze są traktowane jak każdy inny arkusz; możesz uzyskać do nich dostęp przez indeks i zapisać je, ale przed zapisem może być konieczne ustawienie EditableDocument.IsVisible = true, jeśli chcesz, aby były widoczne w wyniku.
Q: Czy mogę bezpośrednio przekonwertować zakładkę Excela na PDF?
A: Tak, określ SaveFormat.Pdf przy wywoływaniu Save na EditableDocument. Biblioteka zachowuje układ, obrazy i wykresy podczas konwersji.
Q: Czy można podzielić skoroszyt na pliki CSV zamiast XLSX?
A: Oczywiście. Użyj SaveFormat.Csv dla każdego EditableDocument, aby wygenerować tekstowe reprezentacje CSV każdego arkusza.
Q: Czy GroupDocs.Editor obsługuje pliki Excel chronione hasłem?
A: Tak. Podaj hasło za pomocą LoadOptions.Password przy tworzeniu instancji Editor.
Q: Gdzie mogę znaleźć więcej przykładów pracy z arkuszami kalkulacyjnymi?
A: Oficjalna dokumentacja i przykładowe projekty na stronie pobierania zawierają dodatkowe przypadki użycia.
Podsumowanie
Postępując zgodnie z tymi krokami, możesz save each Excel tab jako niezależny dokument, konwertować zakładki na PDF lub podzielić duże skoroszyty na łatwe do zarządzania części — wszystko przy użyciu niezawodnej, wysokowydajnej biblioteki GroupDocs.Editor for .NET. Ta funkcjonalność usprawnia przepływy raportowania, automatyzuje ekstrakcję danych i redukuje ręczną obsługę arkuszy kalkulacyjnych.
Ostatnia aktualizacja: 2026-06-06
Testowano z: GroupDocs.Editor 23.11 for .NET
Autor: GroupDocs