
Как сжать файлы Excel в ZIP на C#
Архивы ZIP могут содержать несколько файлов, что обычно используется для уменьшения размера файлов. При этом каждый файл сжимается индивидуально, что помогает извлекать их и добавлять новые без сжатия или распаковки всего Zip-архива. В настоящее время использование электронных таблиц Excel (XLSX или XLS) увеличилось в повседневной деловой деятельности. Иногда файлы Excel могут быть довольно большими, но мы можем уменьшить их размер, сжав их в ZIP-архив. В этой статье вы узнаете, как сжимать файлы Excel в ZIP-архив на C# без написания сложного кода. Кроме того, вы увидите, как получить отчет о ходе сжатия при сжатии больших файлов Excel.
В этой статье будут рассмотрены следующие моменты:
- C# .NET API для сжатия файлов Excel в ZIP-архив
- Добавить файлы XLS или XLSX в ZIP на C#
- Получить отчет о ходе сжатия в C#
C# .NET API для сжатия файлов Excel в ZIP-архив
Чтобы сжать файлы Excel в ZIP-архив, мы будем использовать Aspose.ZIP для .NET. API состоит из многочисленных функций архивирования. Поэтому вы можете скачать DLL или установить ее с помощью NuGet.
Install-Package Aspose.ZIP
Добавьте файлы XLS или XLSX в ZIP на C#
Предположим, у вас есть несколько файлов Excel (XLSX или XLS) для сжатия в ZIP-архив. Вы можете выбрать один из следующих способов выполнения задания.
C# сжать файлы Excel в ZIP с помощью FileStream
Таким образом, мы будем использовать класс FileStream для добавления файлов в ZIP-архив, вызвав функцию Archive.CreateEntry(String, FileStream).
Ниже приведены шаги для сжатия электронных таблиц Excel в ZIP с помощью FileStream:
- Создать объект класса FileStream для выходного ZIP-архива.
- Создайте объекты FileStream для сжимаемых файлов Excel.
- Инициализируйте класс Archive и передайте ему экземпляр класса ArchiveEntrySettings.
- Добавьте объекты FileStream, созданные на шаге 2, с помощью метода Archive.CreateEntry.
- Чтобы сжать файлы, вызовите метод Archive.Save и используйте объекты FileStream (созданные на шаге 1) и экземпляр ArchiveSaveOptions в качестве параметров.
В следующем коде показано, как сжать файлы Excel в ZIP с помощью FileStream.
C# сжать файлы XLSX или XLS в ZIP с помощью FileInfo
Кроме того, мы можем использовать класс FileInfo для добавления файлов в ZIP-архив. В этом случае файлы будут загружены с помощью класса FileInfo и добавлены в ZIP-архив вызовом метода Archive.CreateEntry(String, FileInfo).
Пожалуйста, следуйте инструкциям ниже:
- Создать объект класса FileStream для выходного ZIP-архива.
- Создайте объекты FileInfo для сжимаемых файлов Excel.
- Инициализируйте класс Archive и передайте ему экземпляр класса ArchiveEntrySettings.
- Добавьте объекты FileStream, созданные на шаге 2, с помощью метода Archive.CreateEntry.
- Чтобы сжать файлы, вызовите метод Archive.Save и используйте объекты FileStream (созданные на шаге 1) и экземпляр ArchiveSaveOptions в качестве параметров.
В следующем коде показано, как сжать файлы XLSX или XLS в ZIP с помощью FileInfo.
Сжимайте электронные таблицы Excel в ZIP, используя путь к файлу
Самый простой способ — добавить путь к файлу Excel непосредственно в метод Archive.CreateEntry:
Ниже приведены шаги для сжатия электронных таблиц Excel в ZIP с использованием пути к файлу:
- Инициализировать класс Архив.
- Добавьте файлы Excel, используя метод Archive.CreateEntry.
- Для сжатия данных вызовите метод Archive.Save и используйте в качестве параметра имя выходного файла.
В следующем коде показано, как сжать файлы электронных таблиц Excel в ZIP, используя путь к файлу.
Получить отчет о ходе сжатия в C#
В случае больших файлов Excel процесс сжатия может занять много времени. Чтобы справиться с этим, библиотека сжатия ZIP C# предоставляет событие [CompressionProgressed] для непрерывной публикации обновлений.
Ниже приведены шаги для получения отчета о ходе сжатия в C#:
- Создайте объект FileStream для большого файла Excel.
- Инициализируйте класс Archive и передайте ему экземпляр класса ArchiveEntrySettings.
- Получить объект ArchiveEntry из вызова метода Archive.CreateEntry.
- Прикрепите [CompressionProgressed] к объекту ArchiveEntry.
- Вызовите Archive.Save и используйте имя выходного файла в качестве параметра.
В следующем примере кода показано, как получить отчет о ходе сжатия в C#:
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию для тестирования API без ограничений пробной версии.
Заключение
В этой статье вы узнали, как сжимать файлы Excel в ZIP-архив на C#, используя библиотеку сжатия ZIP C#. Кроме того, вы получили достаточно знаний о том, как получить отчет о ходе сжатия при сжатии больших файлов Excel. Вы можете посетить документацию, чтобы изучить другие функции C# API сжатия ZIP.
Задайте вопрос
Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.