Excel-bestanden comprimeren naar ZIP in C#

Excel-bestanden comprimeren naar ZIP in C#

De [ZIP][1]-archieven kunnen meerdere bestanden bevatten, die vaak worden gebruikt om de grootte van bestanden te verkleinen. Tegelijkertijd wordt elk bestand afzonderlijk gecomprimeerd, wat helpt om ze uit te pakken en nieuwe toe te voegen zonder het hele Zip-archief te comprimeren of te decomprimeren. Tegenwoordig is het gebruik van Excel-spreadsheets ([XLSX][2] of [XLS][3]) toegenomen in de dagelijkse zakelijke activiteiten. Soms kunnen Excel-bestanden behoorlijk groot worden, maar we kunnen ze verkleinen door ze te comprimeren tot een ZIP-archief. In dit artikel leer je hoe je Excel-bestanden comprimeert naar een ZIP-archief in C# zonder ingewikkelde code te schrijven. Afgezien hiervan zult u zien hoe u het rapport van de voortgang van de compressie kunt krijgen tijdens het zippen van de grote Excel-bestanden. In dit artikel komen de volgende punten aan bod:

  • [C# .NET API om Excel-bestanden naar een ZIP-archief te comprimeren][4]
  • [Voeg XLS- of XLSX-bestanden toe aan ZIP in C#][5]
  • [Ontvang het rapport van de voortgang van de compressie in C#][6]

C# .NET API om Excel-bestanden naar een ZIP-archief te comprimeren

Om de Excel-bestanden in een ZIP-archief te comprimeren, gebruiken we [Aspose.ZIP voor .NET][21]. De API bestaat uit tal van archiveringsfuncties. Daarom kunt u de DLL [downloaden][8] of installeren met behulp van [NuGet][7].

Install-Package Aspose.ZIP

Voeg XLS- of XLSX-bestanden toe aan ZIP in C#

Stel dat u meerdere Excel-bestanden (XLSX of XLS) hebt om te comprimeren tot een ZIP-archief. U kunt een van de volgende manieren kiezen om de klus te klaren.

C# comprimeer Excel-bestanden naar ZIP met behulp van FileStream

Op deze manier gebruiken we de klasse [FileStream][9] om bestanden toe te voegen aan het ZIP-archief door de functie [Archive.CreateEntry(String, FileStream)][18] aan te roepen. Hieronder volgen de stappen om Excel-spreadsheets naar ZIP te comprimeren met behulp van FileStream:

  1. Maak eerst een object van de klasse [FileStream][9] voor het ZIP-uitvoerarchief.
  2. Maak vervolgens objecten van [FileStream][9] voor de te comprimeren Excel-bestanden.
  3. Initialiseer vervolgens de klasse [Archive][10] en geef deze een instantie van de klasse [ArchiveEntrySettings][11] door.
  4. Voeg daarna [FileStream][9]-objecten toe die in stap 2 zijn gemaakt met de methode [Archive.CreateEntry][12].
  5. Roep ten slotte de methode [Archive.Save][13] aan en gebruik de objecten van [FileStream][9] (gemaakt in stap 1) en de instantie van [ArchiveSaveOptions][15] als parameters. De volgende code laat zien hoe Excel-bestanden naar ZIP kunnen worden gecomprimeerd met behulp van [FileStream][9].

C# comprimeer XLSX- of XLS-bestanden naar ZIP met behulp van FileInfo

Als alternatief kunnen we de klasse [FileInfo][16] gebruiken om bestanden toe te voegen aan het ZIP-archief. In dit geval worden de bestanden geladen met de klasse [FileInfo][16] en toegevoegd aan het ZIP-archief door de methode [Archive.CreateEntry(String, FileInfo)][17] aan te roepen. Volg de onderstaande stappen:

  1. Maak een object van de klasse [FileStream][9] voor het ZIP-uitvoerarchief.
  2. Maak objecten van [FileInfo][16] voor de Excel-bestanden die moeten worden gecomprimeerd.
  3. Initialiseer de klasse [Archive][10] en geef deze een instantie van de klasse [ArchiveEntrySettings][11] door.
  4. Voeg [FileStream][9]-objecten toe die in stap 2 zijn gemaakt met de methode [Archive.CreateEntry][12].
  5. Om de bestanden te comprimeren, roept u de methode [Archive.Save][13] aan en gebruikt u de objecten van [FileStream][9] (gemaakt in stap 1) en de instantie van [ArchiveSaveOptions][15] als parameters. De volgende code laat zien hoe u XLSX- of XLS-bestanden comprimeert naar ZIP met behulp van [FileInfo][16].

Comprimeer Excel-spreadsheets naar ZIP met behulp van het bestandspad

De eenvoudigste manier is om een Excel-bestandspad rechtstreeks toe te voegen aan de methode [Archive.CreateEntry][12]: Hieronder volgen de stappen om Excel-spreadsheets naar ZIP te comprimeren met behulp van een bestandspad:

  • Initialiseer de klasse [Archief][10].
  • Excel-bestanden toevoegen met de methode [Archive.CreateEntry][12].
  • Om de gegevens te comprimeren, roept u de methode [Archive.Save][13] aan en gebruikt u de naam van het uitvoerbestand als parameter. De volgende code laat zien hoe Excel-spreadsheetbestanden naar ZIP kunnen worden gecomprimeerd met behulp van een bestandspad.

Krijg het rapport van de voortgang van de compressie in C#

In het geval van grote Excel-bestanden kan het compressieproces lang duren. Om hiermee om te gaan, biedt de [C# ZIP-compressiebibliotheek][21] de gebeurtenis [CompressionProgressed] om continu updates te plaatsen. Hieronder volgen de stappen om het rapport van de voortgang van de compressie in C# te krijgen:

  • Maak een object van [FileStream][9] voor het grote Excel-bestand.
  • Initialiseer de klasse [Archive][10] en geef deze een instantie van de klasse [ArchiveEntrySettings][11] door.
  • Verkrijg een object van [ArchiveEntry][14] uit de [Archive.CreateEntry][12] methodeaanroep.
  • Koppel [CompressionProgressed] aan het object [ArchiveEntry][14].
  • Roep [Archive.Save][13] op en gebruik de naam van het uitvoerbestand als parameter. Het volgende codevoorbeeld laat zien hoe u het rapport van de compressievoortgang in C# kunt ophalen:

Ontvang een gratis licentie

U kunt een [gratis tijdelijke licentie][19] krijgen om de API te testen zonder evaluatiebeperkingen.

Conclusie

In dit artikel heb je geleerd Excel-bestanden te comprimeren naar een ZIP-archief in C# met behulp van een [C# ZIP-compressiebibliotheek][21]. Afgezien daarvan heb je voldoende kennis over het verkrijgen van een compressievoortgangsrapport tijdens het zippen van grote Excel-bestanden. U kunt de [documentatie][20] bezoeken om andere functies van de C# ZIP-compressie-API te ontdekken.

Een vraag stellen

U kunt uw vragen of vragen aan ons stellen op ons [forum][22].

Zie ook