Cómo comprimir archivos de Excel a ZIP en C#

Cómo comprimir archivos de Excel a ZIP en C#

Los archivos ZIP pueden contener varios archivos, comúnmente utilizados para reducir el tamaño de los archivos. Al mismo tiempo, cada archivo se comprime individualmente, lo que ayuda a extraerlos y agregar nuevos sin comprimir o descomprimir todo el archivo Zip. Hoy en día, el uso de hojas de cálculo de Excel (XLSX o XLS) se ha incrementado en las actividades comerciales diarias. A veces, los archivos de Excel pueden llegar a ser bastante grandes, pero podemos reducir su tamaño comprimiéndolos en un archivo ZIP. En este artículo, aprenderá cómo comprimir archivos de Excel en un archivo ZIP en C# sin escribir código complejo. Además, verá cómo obtener el informe del progreso de la compresión mientras comprime los archivos grandes de Excel.

En este artículo se tratarán los siguientes puntos:

C# .NET API para comprimir archivos de Excel en un archivo ZIP

Para comprimir los archivos de Excel en un archivo ZIP, usaremos Aspose.ZIP para .NET. La API consta de numerosas funciones de archivo. Por lo tanto, puede descargar la DLL o instalarla mediante NuGet.

Install-Package Aspose.ZIP

Agregue archivos XLS o XLSX a ZIP en C#

Suponga que tiene varios archivos de Excel (XLSX o XLS) para comprimirlos en un archivo ZIP. Puede elegir una de las siguientes formas de hacer el trabajo.

C# comprimir archivos de Excel a ZIP usando FileStream

De esta manera, usaremos la clase FileStream para agregar archivos al archivo ZIP llamando a la función Archive.CreateEntry(String, FileStream).

Los siguientes son los pasos para comprimir hojas de cálculo de Excel a ZIP usando FileStream:

El siguiente código muestra cómo comprimir archivos de Excel a ZIP usando FileStream.

C# comprime archivos XLSX o XLS en ZIP usando FileInfo

Alternativamente, podemos usar la clase FileInfo para agregar archivos al archivo ZIP. En este caso, los archivos se cargarán usando la clase FileInfo y se agregarán al archivo ZIP llamando al método Archive.CreateEntry(String, FileInfo).

Por favor, siga los pasos que se mencionan a continuación:

El siguiente código muestra cómo comprimir archivos XLSX o XLS en ZIP usando FileInfo.

Comprima hojas de cálculo de Excel en ZIP usando la ruta del archivo

La forma más sencilla es agregar una ruta de archivo de Excel directamente al método Archive.CreateEntry:

Los siguientes son los pasos para comprimir hojas de cálculo de Excel a ZIP usando una ruta de archivo:

  • Inicializar la clase Archivo.
  • Agregue archivos de Excel usando el método Archive.CreateEntry.
  • Para comprimir los datos, llame al método Archive.Save y use el nombre del archivo de salida como parámetro.

El siguiente código demuestra cómo comprimir archivos de hojas de cálculo de Excel en ZIP usando una ruta de archivo.

Obtenga el informe del progreso de la compresión en C#

En el caso de archivos de Excel de gran tamaño, el proceso de compresión puede tardar mucho tiempo en completarse. Para solucionarlo, la biblioteca de compresión C# ZIP proporciona el evento [CompressionProgressed] para publicar actualizaciones continuamente.

Los siguientes son los pasos para obtener el informe del progreso de la compresión en C#:

El siguiente ejemplo de código muestra cómo obtener el informe del progreso de la compresión en C#:

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar la API sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido cómo comprimir archivos de Excel en un archivo ZIP en C# usando una biblioteca de compresión C# ZIP. Aparte de eso, tiene suficiente conocimiento sobre cómo obtener un informe de progreso de compresión mientras comprime archivos grandes de Excel. Puede visitar la documentación para explorar otras funciones de la API de compresión ZIP de C#.

Hacer una pregunta

Puedes hacernos saber tus dudas o consultas en nuestro foro.

Ver también