Les archives ZIP peuvent contenir plusieurs fichiers, couramment utilisés pour réduire la taille des fichiers. En même temps, chaque fichier se comprime individuellement, ce qui permet de les extraire et d’en ajouter de nouveaux sans compresser ou décompresser l’intégralité de l’archive Zip. De nos jours, l’utilisation des feuilles de calcul Excel (XLSX ou XLS) a augmenté dans les activités commerciales quotidiennes. Parfois, les fichiers Excel peuvent devenir assez volumineux, mais nous pouvons réduire leur taille en les compressant dans une archive ZIP. Dans cet article, vous apprendrez comment compresser des fichiers Excel dans une archive ZIP en C# sans écrire de code complexe. En dehors de cela, vous verrez comment obtenir le rapport de progression de la compression lors de la compression des gros fichiers Excel.
Les points suivants seront abordés dans cet article :
- API C# .NET pour compresser les fichiers Excel dans une archive ZIP
- Ajouter des fichiers XLS ou XLSX au ZIP en C#
- Obtenir le rapport de progression de la compression en C#
API C# .NET pour compresser les fichiers Excel dans une archive ZIP
Pour compresser les fichiers Excel dans une archive ZIP, nous utiliserons Aspose.ZIP pour .NET. L’API se compose de nombreuses fonctionnalités d’archivage. Par conséquent, vous pouvez télécharger la DLL ou l’installer à l’aide de NuGet.
Install-Package Aspose.ZIP
Ajouter des fichiers XLS ou XLSX au ZIP en C#
Supposons que vous disposiez de plusieurs fichiers Excel (XLSX ou XLS) à compresser dans une archive ZIP. Vous pouvez choisir l’une des façons suivantes de faire le travail.
C# compresse les fichiers Excel en ZIP à l’aide de FileStream
De cette façon, nous utiliserons la classe FileStream pour ajouter des fichiers à l’archive ZIP en appelant la fonction Archive.CreateEntry(String, FileStream).
Voici les étapes pour compresser des feuilles de calcul Excel au format ZIP à l’aide de FileStream :
- Créez un objet de classe FileStream pour l’archive ZIP de sortie.
- Créer des objets de FileStream pour les fichiers Excel à compresser.
- Initialisez la classe Archive et transmettez-lui une instance de la classe ArchiveEntrySettings.
- Ajoutez les objets FileStream créés à l’étape 2 à l’aide de la méthode Archive.CreateEntry.
- Pour compresser les fichiers, appelez la méthode Archive.Save et utilisez les objets de FileStream (créés à l’étape 1) et l’instance de ArchiveSaveOptions comme paramètres.
Le code suivant montre comment compresser des fichiers Excel au format ZIP à l’aide de FileStream.
C# compresse les fichiers XLSX ou XLS en ZIP à l’aide de FileInfo
Alternativement, nous pouvons utiliser la classe FileInfo pour ajouter des fichiers à l’archive ZIP. Dans ce cas, les fichiers seront chargés à l’aide de la classe FileInfo et ajoutés à l’archive ZIP en appelant la méthode Archive.CreateEntry(String, FileInfo).
Veuillez suivre les étapes mentionnées ci-dessous :
- Créez un objet de classe FileStream pour l’archive ZIP de sortie.
- Créer des objets de FileInfo pour les fichiers Excel à compresser.
- Initialisez la classe Archive et transmettez-lui une instance de la classe ArchiveEntrySettings.
- Ajoutez les objets FileStream créés à l’étape 2 à l’aide de la méthode Archive.CreateEntry.
- Pour compresser les fichiers, appelez la méthode Archive.Save et utilisez les objets de FileStream (créés à l’étape 1) et l’instance de ArchiveSaveOptions comme paramètres.
Le code suivant montre comment compresser des fichiers XLSX ou XLS en ZIP à l’aide de FileInfo.
Compresser les feuilles de calcul Excel au format ZIP en utilisant le chemin du fichier
Le moyen le plus simple consiste à ajouter un chemin de fichier Excel directement à la méthode Archive.CreateEntry :
Voici les étapes pour compresser des feuilles de calcul Excel au format ZIP à l’aide d’un chemin de fichier :
- Initialiser la classe Archive.
- Ajoutez des fichiers Excel à l’aide de la méthode Archive.CreateEntry.
- Pour compresser les données, appelez la méthode Archive.Save et utilisez le nom du fichier de sortie comme paramètre.
Le code suivant montre comment compresser des fichiers de feuille de calcul Excel au format ZIP à l’aide d’un chemin de fichier.
Obtenir le rapport de progression de la compression en C#
Dans le cas de fichiers Excel volumineux, le processus de compression peut prendre beaucoup de temps. Pour y faire face, la bibliothèque de compression ZIP C# fournit l’événement [CompressionProgressed] pour publier des mises à jour en continu.
Voici les étapes pour obtenir le rapport de progression de la compression en C# :
- Créez un objet FileStream pour le gros fichier Excel.
- Initialisez la classe Archive et transmettez-lui une instance de la classe ArchiveEntrySettings.
- Obtenir un objet de ArchiveEntry à partir de l’appel de méthode Archive.CreateEntry.
- Attachez [CompressionProgressed] à l’objet ArchiveEntry.
- Appelez Archive.Save et utilisez le nom du fichier de sortie comme paramètre.
L’exemple de code suivant montre comment obtenir le rapport de progression de la compression en C# :
Obtenez une licence gratuite
Vous pouvez obtenir une licence temporaire gratuite pour tester l’API sans limitation d’évaluation.
Conclusion
Dans cet article, vous avez appris comment compresser des fichiers Excel dans une archive ZIP en C# à l’aide d’une bibliothèque de compression ZIP C#. En plus de cela, vous avez suffisamment de connaissances sur l’obtention d’un ** rapport d’avancement de la compression ** lors de la compression de fichiers Excel volumineux. Vous pouvez consulter la documentation pour découvrir d’autres fonctionnalités de l’API de compression ZIP C#.
poser une question
Vous pouvez nous faire part de vos questions ou requêtes sur notre forum.