Arbeiten mit Multi-Tab-Tabellenkalkulationen
Einführung
Wenn Sie jede Excel-Registerkarte als eigenständige Datei speichern müssen, macht GroupDocs.Editor für .NET das mühelos. Egal, ob Sie Finanzberichte extrahieren, Arbeitsblätter pro Abteilung erstellen oder Registerkarten in PDF konvertieren, führt Sie dieses Tutorial durch den gesamten Arbeitsablauf – von der Einrichtung der Umgebung bis zum Freigeben von Ressourcen – sodass Sie die Verarbeitung mehrerer Tabellenblätter automatisieren können.
Schnelle Antworten
- Kann GroupDocs.Editor eine XLSX in separate Dateien aufteilen? Ja, Sie können die Arbeitsmappe laden und jedes Blatt einzeln exportieren.
- In welchen Formaten kann jede Registerkarte gespeichert werden? XLSX, CSV, PDF, HTML und mehr – über 30 Ausgabeformate werden unterstützt.
- Benötige ich eine Lizenz für diese Funktion? Eine temporäre Lizenz funktioniert für Tests; für die Produktion ist eine Voll‑Lizenz erforderlich.
- Wird .NET Core unterstützt? Absolut – die Bibliothek funktioniert mit .NET Framework 4.0+ und .NET Core/5/6+.
- Wie viele Registerkarten können gleichzeitig verarbeitet werden? GroupDocs.Editor kann Arbeitsmappen mit über 500 Blättern verarbeiten, ohne die gesamte Datei in den Speicher zu laden.
Was bedeutet „jede Excel-Registerkarte speichern“?
„Jede Excel-Registerkarte speichern“ bedeutet, jedes Arbeitsblatt aus einer Arbeitsmappe mit mehreren Blättern zu extrahieren und jedes einzeln in ein eigenständiges Dokument zu schreiben (z. B. separate XLSX‑ oder PDF‑Dateien). Dieser Ansatz vereinfacht die nachgelagerte Verarbeitung, Berichterstellung und Verteilung, indem er Ihnen eine Datei pro Blatt bereitstellt, die dann unabhängig geteilt, archiviert oder weiterverarbeitet werden kann.
Warum GroupDocs.Editor für diese Aufgabe verwenden?
GroupDocs.Editor unterstützt über 30 Eingabe‑ und Ausgabeformate und kann Tabellenkalkulationen mit bis zu 1.000 Blättern verarbeiten, wobei der Speicherverbrauch durch Streaming der Daten niedrig gehalten wird, anstatt die gesamte Datei zu laden. Die API bewahrt zudem Zellstile, Formeln und eingebettete Bilder, sodass jede exportierte Registerkarte exakt wie das Original aussieht.
Voraussetzungen
- Visual Studio – jede aktuelle Edition (Community, Professional oder Enterprise).
- .NET Framework 4.0+ – oder .NET Core/5/6, falls Sie die plattformübergreifende Laufzeit bevorzugen.
- GroupDocs.Editor für .NET – laden Sie es von der download page herunter.
- Lizenz – eine temporary license ist für Tests ausreichend; für den Produktionseinsatz erwerben Sie eine Voll‑Lizenz.
- Kostenlose Testversion – Sie können die Bibliothek auch über die free trial Seite ausprobieren.
- Support – falls Sie auf Probleme stoßen, besuchen Sie das support forum oder prüfen Sie die purchase page für eine Voll‑Lizenz.
Namespaces importieren
Bevor wir mit dem Codieren beginnen, müssen Sie die erforderlichen Namespaces importieren. Fügen Sie die folgenden using‑Direktiven am Anfang Ihrer .cs‑Datei hinzu:
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
Wie speichert man jede Excel-Registerkarte als separate Datei?
Laden Sie die Arbeitsmappe, erstellen Sie ein EditableDocument für jedes Blatt und rufen Sie Save mit dem gewünschten Format auf. Dieser Vorgang isoliert jede Registerkarte, ermöglicht Ihnen die Angabe eines eigenen Ausgabepfads und gibt Ressourcen automatisch frei. Im Folgenden finden Sie den Schritt‑für‑Schritt‑Ablauf, den Sie befolgen werden, mit Erklärungen zu jedem API‑Aufruf und Best‑Practice‑Hinweisen, um häufige Fallstricke zu vermeiden.
Schritt 1: Pfad zur Eingabedatei erhalten
Zuerst geben Sie den vollständigen Pfad zur Quell‑XLSX an, die mehrere Registerkarten enthält.
string inputFilePath = "Your Sample Document";
Schritt 2: Laden Sie die Tabellenkalkulation in die Editor‑Instanz
Die Klasse Editor ist der Einstiegspunkt für alle Dokumentoperationen in GroupDocs.Editor. Sie liest den Dateistream und bereitet das Dokument für die Bearbeitung oder Extraktion vor.
using (FileStream inputStream = File.OpenRead(inputFilePath))
{
using (Editor editor = new Editor(delegate { return inputStream; }, delegate { return new SpreadsheetLoadOptions(); }))
{
// Further steps will go here
}
}
Schritt 3: Erstellen Sie ein EditableDocument aus der ersten Registerkarte
EditableDocument repräsentiert ein einzelnes, bearbeitbares Blatt innerhalb der Arbeitsmappe. Der Konstruktor erhält die Editor‑Instanz und einen nullbasierten Blatt‑Index.
SpreadsheetEditOptions editOptions1 = new SpreadsheetEditOptions();
editOptions1.WorksheetIndex = 0; // First tab
EditableDocument firstTabBeforeEdit = editor.Edit(editOptions1);
Schritt 4: Erstellen Sie ein EditableDocument aus der zweiten Registerkarte
Sie können dasselbe Muster für jedes weitere Blatt wiederholen, indem Sie den Indexwert ändern.
SpreadsheetEditOptions editOptions2 = new SpreadsheetEditOptions();
editOptions2.WorksheetIndex = 1; // Second tab
EditableDocument secondTabBeforeEdit = editor.Edit(editOptions2);
Schritt 5: Speichern Sie die erste Registerkarte in ein separates Dokument
Save schreibt das bearbeitete Dokument in eine Datei im angegebenen Format. Rufen Sie es auf der EditableDocument‑Instanz auf und geben Sie den Ausgabepfad sowie das Format an (z. B. 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);
Schritt 6: Speichern Sie die zweite Registerkarte in ein separates Dokument
Der gleiche Save‑Aufruf funktioniert für das zweite Blatt, und Sie können bei Bedarf ein anderes Format wie PDF wählen.
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);
Schritt 7: Entsorgen Sie EditableDocument‑Instanzen
Dispose gibt nicht verwaltete Ressourcen des Dokuments frei, wie Dateihandles, und stellt sicher, dass in langlaufenden Diensten keine Lecks auftreten.
firstTabBeforeEdit.Dispose();
secondTabBeforeEdit.Dispose();
Häufige Probleme und Lösungen
- „File is locked“-Fehler – Stellen Sie sicher, dass Sie
Dispose()für jedesEditableDocumentund dieEditor‑Instanz aufrufen oder sie inusing‑Anweisungen einbetten. - Fehlende Stile nach dem Export – Vergewissern Sie sich, dass Sie in ein Format speichern, das Stil unterstützt (z. B. XLSX oder PDF). CSV verliert per Definition die Formatierung.
- Große Arbeitsmappen führen zu langsamer Leistung – Verwenden Sie die Streaming‑Ladeoptionen (
LoadOptions.Streaming = true), um den Speicherverbrauch gering zu halten.
Häufig gestellte Fragen
Q: Was ist, wenn meine Arbeitsmappe versteckte Blätter enthält?
A: Versteckte Blätter werden wie jedes andere Blatt behandelt; Sie können sie über den Index ansprechen und speichern, müssen jedoch ggf. EditableDocument.IsVisible = true setzen, bevor Sie speichern, wenn Sie sie im Ausgabe‑Dokument sichtbar haben möchten.
Q: Kann ich eine Excel-Registerkarte direkt in PDF konvertieren?
A: Ja, geben Sie SaveFormat.Pdf an, wenn Sie Save auf dem EditableDocument aufrufen. Die Bibliothek bewahrt Layout, Bilder und Diagramme während der Konvertierung.
Q: Ist es möglich, eine Arbeitsmappe in CSV‑Dateien anstatt XLSX aufzuteilen?
A: Absolut. Verwenden Sie SaveFormat.Csv für jedes EditableDocument, um reine Text‑CSV‑Darstellungen jedes Blattes zu erzeugen.
Q: Unterstützt GroupDocs.Editor passwortgeschützte Excel‑Dateien?
A: Ja. Geben Sie das Passwort über LoadOptions.Password an, wenn Sie die Editor‑Instanz erstellen.
Q: Wo finde ich weitere Beispiele zur Arbeit mit Tabellenkalkulationen?
A: Die offizielle Dokumentation und Beispielprojekte auf der download page enthalten weitere Anwendungsfälle.
Fazit
Wenn Sie diese Schritte befolgen, können Sie jede Excel-Registerkarte als eigenständiges Dokument speichern, Registerkarten in PDF konvertieren oder große Arbeitsmappen in handhabbare Teile aufteilen – alles mit der zuverlässigen, leistungsstarken GroupDocs.Editor für .NET‑Bibliothek. Diese Fähigkeit optimiert Reporting‑Pipelines, automatisiert die Datenerfassung und reduziert die manuelle Verarbeitung von Tabellenkalkulationen.
Last Updated: 2026-06-06
Tested With: GroupDocs.Editor 23.11 for .NET
Author: GroupDocs