Die ZIP-Archive können mehrere Dateien enthalten, die häufig verwendet werden, um die Größe von Dateien zu reduzieren. Gleichzeitig wird jede Datei einzeln komprimiert, was hilft, sie zu extrahieren und neue hinzuzufügen, ohne das gesamte Zip-Archiv zu komprimieren oder zu dekomprimieren. Heutzutage hat die Verwendung von Excel-Tabellen (XLSX oder XLS) in den täglichen Geschäftsaktivitäten zugenommen. Manchmal können Excel-Dateien ziemlich groß werden, aber wir können ihre Größe reduzieren, indem wir sie in ein ZIP-Archiv komprimieren. In diesem Artikel erfahren Sie, wie Sie Excel-Dateien in C# in ein ZIP-Archiv komprimieren, ohne komplexen Code schreiben zu müssen. Außerdem erfahren Sie, wie Sie beim Komprimieren der großen Excel-Dateien den Bericht über den Komprimierungsfortschritt erhalten.
Folgende Punkte werden in diesem Artikel behandelt:
- C# .NET API zum Komprimieren von Excel-Dateien in ein ZIP-Archiv
- XLS- oder XLSX-Dateien zu ZIP in C# hinzufügen
- Bericht zum Komprimierungsfortschritt in C# abrufen
C# .NET API zum Komprimieren von Excel-Dateien in ein ZIP-Archiv
Um die Excel-Dateien in ein ZIP-Archiv zu komprimieren, verwenden wir Aspose.ZIP for .NET. Die API besteht aus zahlreichen Archivierungsfunktionen. Daher können Sie die DLL herunterladen oder mit NuGet installieren.
Install-Package Aspose.ZIP
XLS- oder XLSX-Dateien zu ZIP in C# hinzufügen
Angenommen, Sie haben mehrere Excel-Dateien (XLSX oder XLS) zum Komprimieren in ein ZIP-Archiv. Sie können eine der folgenden Möglichkeiten wählen, um die Arbeit zu erledigen.
C# komprimiert Excel-Dateien in ZIP mit FileStream
Auf diese Weise verwenden wir die Klasse FileStream, um Dateien zum ZIP-Archiv hinzuzufügen, indem wir die Funktion Archive.CreateEntry(String, FileStream) aufrufen.
Im Folgenden sind die Schritte zum Komprimieren von Excel-Tabellen in ZIP mit FileStream aufgeführt:
- Erstellen Sie ein Objekt der Klasse FileStream für das Ausgabe-ZIP-Archiv.
- Erstellen Sie Objekte von FileStream für die zu komprimierenden Excel-Dateien.
- Klasse Archive initialisieren und ihr eine Instanz der Klasse ArchiveEntrySettings übergeben.
- Fügen Sie FileStream-Objekte hinzu, die in Schritt 2 mit der Methode Archive.CreateEntry erstellt wurden.
- Rufen Sie zum Komprimieren der Dateien die Methode Archive.Save auf und verwenden Sie die Objekte von FileStream (erstellt in Schritt 1) und die Instanz von ArchiveSaveOptions als Parameter.
Der folgende Code zeigt, wie Excel-Dateien mit FileStream in ZIP komprimiert werden.
C# komprimiert XLSX- oder XLS-Dateien in ZIP mit FileInfo
Alternativ können wir die Klasse FileInfo verwenden, um Dateien zum ZIP-Archiv hinzuzufügen. In diesem Fall werden die Dateien mit der Klasse FileInfo geladen und durch Aufrufen der Methode Archive.CreateEntry(String, FileInfo) zum ZIP-Archiv hinzugefügt.
Bitte befolgen Sie die unten aufgeführten Schritte:
- Erstellen Sie ein Objekt der Klasse FileStream für das Ausgabe-ZIP-Archiv.
- Erstellen Sie Objekte von FileInfo für die zu komprimierenden Excel-Dateien.
- Klasse Archive initialisieren und ihr eine Instanz der Klasse ArchiveEntrySettings übergeben.
- Fügen Sie FileStream-Objekte hinzu, die in Schritt 2 mit der Methode Archive.CreateEntry erstellt wurden.
- Rufen Sie zum Komprimieren der Dateien die Methode Archive.Save auf und verwenden Sie die Objekte von FileStream (erstellt in Schritt 1) und die Instanz von ArchiveSaveOptions als Parameter.
Der folgende Code zeigt, wie man XLSX- oder XLS-Dateien mit FileInfo in ZIP komprimiert.
Excel-Tabellen unter Verwendung des Dateipfads in ZIP komprimieren
Am einfachsten ist es, einen Excel-Dateipfad direkt zur Methode Archive.CreateEntry hinzuzufügen:
Im Folgenden sind die Schritte zum Komprimieren von Excel-Tabellen zu ZIP mithilfe eines Dateipfads aufgeführt:
- Klasse Archiv initialisieren.
- Fügen Sie Excel-Dateien mit der Methode Archive.CreateEntry hinzu.
- Rufen Sie zum Komprimieren der Daten die Methode Archive.Save auf und verwenden Sie den Namen der Ausgabedatei als Parameter.
Der folgende Code zeigt, wie Sie Excel-Tabellendateien mithilfe eines Dateipfads in ZIP komprimieren.
Erhalten Sie den Bericht über den Komprimierungsfortschritt in C#
Bei großen Excel-Dateien kann der Komprimierungsprozess lange dauern. Um damit umzugehen, stellt die C#-ZIP-Komprimierungsbibliothek das Ereignis [CompressionProgressed] bereit, um fortlaufend Aktualisierungen zu posten.
Im Folgenden finden Sie die Schritte zum Abrufen des Berichts über den Komprimierungsfortschritt in C#:
- Erstellen Sie ein Objekt von FileStream für die große Excel-Datei.
- Klasse Archive initialisieren und ihr eine Instanz der Klasse ArchiveEntrySettings übergeben.
- Rufen Sie ein Objekt von ArchiveEntry aus dem Methodenaufruf Archive.CreateEntry ab.
- Hängen Sie [CompressionProgressed] an das Objekt ArchiveEntry an.
- Rufen Sie Archive.Save auf und verwenden Sie den Namen der Ausgabedatei als Parameter.
Das folgende Codebeispiel zeigt, wie Sie den Bericht über den Komprimierungsfortschritt in C# erhalten:
Holen Sie sich eine kostenlose Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne Evaluierungseinschränkungen zu testen.
Abschluss
In diesem Artikel haben Sie gelernt, wie Sie Excel-Dateien in C# mithilfe einer C#-ZIP-Komprimierungsbibliothek in ein ZIP-Archiv komprimieren. Abgesehen davon haben Sie ausreichende Kenntnisse darüber, wie Sie beim Komprimieren großer Excel-Dateien einen Komprimierungsfortschrittsbericht erhalten. Sie können die Dokumentation aufrufen, um weitere Funktionen der C#-ZIP-Komprimierungs-API zu erkunden.
Stelle eine Frage
Sie können uns Ihre Fragen oder Anregungen in unserem Forum mitteilen.