Como compactar arquivos do Excel para ZIP em C #

Como compactar arquivos do Excel para ZIP em C #

Os arquivos ZIP podem conter vários arquivos, comumente usados para reduzir o tamanho dos arquivos. Ao mesmo tempo, cada arquivo é compactado individualmente, o que ajuda a extraí-los e adicionar novos sem compactar ou descompactar todo o arquivo Zip. Atualmente, o uso de planilhas Excel (XLSX ou XLS) tem aumentado no dia a dia das empresas. Às vezes, os arquivos do Excel podem ficar muito grandes, mas podemos reduzir seu tamanho compactando-os em um arquivo ZIP. Neste artigo, você aprenderá como compactar arquivos do Excel em um arquivo ZIP em C# sem escrever códigos complexos. Além disso, você verá como obter o relatório de progresso da compactação enquanto compacta os arquivos grandes do Excel.

Os seguintes pontos serão abordados neste artigo:

API C# .NET para compactar arquivos do Excel em um arquivo ZIP

Para compactar os arquivos do Excel em um arquivo ZIP, usaremos Aspose.ZIP for .NET. A API consiste em vários recursos de arquivamento. Portanto, você pode baixar a DLL ou instalá-la usando NuGet.

Install-Package Aspose.ZIP

Adicionar arquivos XLS ou XLSX ao ZIP em C#

Suponha que você tenha vários arquivos Excel (XLSX ou XLS) para compactar em um arquivo ZIP. Você pode escolher uma das seguintes maneiras de fazer o trabalho.

C# comprime arquivos do Excel em ZIP usando FileStream

Desta forma, usaremos a classe FileStream para adicionar arquivos ao arquivo ZIP chamando a função Archive.CreateEntry(String, FileStream).

A seguir estão as etapas para compactar planilhas do Excel em ZIP usando FileStream:

O código a seguir mostra como compactar arquivos do Excel em ZIP usando FileStream.

C# comprime arquivos XLSX ou XLS em ZIP usando FileInfo

Como alternativa, podemos usar a classe FileInfo para adicionar arquivos ao arquivo ZIP. Neste caso, os arquivos serão carregados usando a classe FileInfo e adicionados ao arquivo ZIP chamando o método Archive.CreateEntry(String, FileInfo).

Por favor, siga os passos mencionados abaixo:

O código a seguir mostra como compactar arquivos XLSX ou XLS em ZIP usando FileInfo.

Compacte planilhas do Excel em ZIP usando o caminho do arquivo

A maneira mais simples é adicionar um caminho de arquivo do Excel diretamente ao método Archive.CreateEntry:

A seguir estão as etapas para compactar planilhas do Excel em ZIP usando um caminho de arquivo:

  • Inicialize a classe Archive.
  • Adicione arquivos Excel usando o método Archive.CreateEntry.
  • Para compactar os dados, chame o método Archive.Save e use o nome do arquivo de saída como parâmetro.

O código a seguir demonstra como compactar arquivos de planilha do Excel em ZIP usando um caminho de arquivo.

Obtenha o relatório do progresso da compactação em C#

No caso de arquivos grandes do Excel, o processo de compactação pode demorar muito para ser concluído. Para lidar com isso, a biblioteca de compactação C# ZIP fornece o evento [CompressionProgressed] para postar atualizações continuamente.

A seguir estão as etapas para obter o relatório do progresso da compactação em C#:

O exemplo de código a seguir mostra como obter o relatório do progresso da compactação em C#:

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para testar a API sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como compactar arquivos do Excel em um arquivo ZIP em C# usando uma biblioteca de compactação C# ZIP. Além disso, você obteve conhecimento suficiente sobre como obter o relatório de progresso da compactação ao compactar grandes arquivos do Excel. Você pode visitar a documentação para explorar outros recursos da API de compactação C# ZIP.

Faça uma pergunta

Você pode nos enviar suas perguntas ou dúvidas em nosso fórum.

Veja também