Vamos aprender a proteger arquivos de planilhas contra acesso não autorizado. Anteriormente, discutimos adicionar marcas d’água de texto e imagem às planilhas do Excel para evitar qualquer uso ilegal. Neste artigo, veremos como proteger com senha um arquivo do Excel usando C#. Além disso, alteraremos a senha existente e também aprenderemos a remover a senha para desbloquear arquivos do Excel.

Proteger arquivos do Excel programaticamente com senha - Bloquear Desbloquear

Os seguintes tópicos são discutidos abaixo:

API .NET para bloquear e desbloquear arquivos do Excel

Para bloquear e desbloquear documentos, usaremos GroupDocs.Merger for .NET. Essa API permite adicionar, alterar e remover recursos de segurança de senha para os documentos nos aplicativos .NET. Além de proteger e desproteger planilhas do Excel, a API fornece muitos outros recursos, como mesclar e dividir, mencionados na documentação.

Você pode baixar as DLLs ou o instalador MSI na seção de downloads ou instalar a API em seu aplicativo .NET via NuGet.

PM> Install-Package GroupDocs.Merger

Proteger arquivos do Excel com senha usando C# - Bloquear planilhas

Bloquear planilha com senha

Vamos começar adicionando proteção ao arquivo bloqueando-o com a senha. As etapas a seguir mostram como adicionar segurança de senha às planilhas do Excel usando C#.

  • Defina a senha usando a classe AddPasswordOptions.
  • Carregue o arquivo Excel (XLS/XLSX) usando a classe Merger.
  • Bloqueie o arquivo adicionando uma senha usando o método AddPassword.
  • Salve a planilha protegida usando o método Save.

O código C# a seguir adiciona a senha ao arquivo do Excel para segurança.

/*
 * Adicionar proteção por senha a arquivos de planilhas do Excel (XLS/XLSX) usando C#
 */
string filePath = @"path/spreadsheet.xlsx";

AddPasswordOptions addOptions = new AddPasswordOptions("mySECRETpassWORD");

using (Merger merger = new Merger(filePath))
{
    merger.AddPassword(addOptions);
    merger.Save(@"path/protected-spreadsheet.xlsx");
}

Aqui está a saída do código acima. Ao tentar abrir o arquivo de planilha, o editor ou visualizador solicitará a senha para provar sua autoridade.

Digite a senha para o arquivo protegido

Atualize a senha existente dos arquivos do Excel usando C#

Sua senha está realmente exposta? Tenha mais cuidado da próxima vez. Vamos alterá-lo rapidamente de forma programática com o novo e um pouco difícil. As etapas a seguir permitem que você altere a senha atual de seu arquivo de planilha em seu aplicativo .NET em C#.

  • Primeiro, prepare as Opções de carregamento usando a senha atual.
  • Em seguida, prepare as Opções de atualização de senha usando a nova senha.
  • Em seguida, carregue o arquivo XLS/XLSX usando a classe Merger e as opções de carregamento.
  • Agora, altere a senha existente usando o método UpdatePassword.
  • Finalmente, salve o arquivo bloqueado com a senha alterada usando o método Save.

Aqui está o trecho de código para alterar a senha atual do arquivo de planilha.

/*
 * Altere a senha de planilhas do Excel protegidas usando C#
 */
string filePath = @"path/protected-spreadsheet.xlsx";

LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");
UpdatePasswordOptions updateOptions = new UpdatePasswordOptions("TOPSECRET_pa22WORD");

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.UpdatePassword(updateOptions);
    merger.Save(@"path/pwd-changed-spreadsheet.xlsx");
}

Remover senha para desproteger arquivos de planilha do Excel usando C# - Desbloquear XLS/XLSX

Planilha desbloqueada - Senha removida

Se suas planilhas agora estão em boas mãos, você pode remover a senha para acessá-las facilmente. As etapas a seguir mostram como desbloquear o arquivo do Excel removendo sua senha usando C#.

  • Prepare as Opções de carregamento usando a senha do arquivo.
  • Carregue o arquivo de planilha usando a classe Merger e as opções de carregamento.
  • Remova a senha existente usando o método RemovePassword.
  • Salve o arquivo desbloqueado usando o método Save.

O trecho de código C# a seguir desbloqueia o arquivo do Excel removendo sua senha existente, portanto, qualquer pessoa pode acessá-lo sem autorização.

/*
 * Remova a proteção por senha das planilhas do Excel usando C#
 */
string filePath = @"path/protected-spreadsheet.xlsx";

LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.RemovePassword();
    merger.Save(@"path/unlocked-spreadsheet.xlsx");
}

Conclusão

Vamos concluir o que aprendemos hoje. Começamos com o arquivo de planilha Excel simples (XLS/XLSX) e adicionamos proteção por senha. Em seguida, alteramos a senha existente dessa planilha protegida. No final, aprendemos como retirar a senha do arquivo protegido para desproteger a planilha do Excel. Agora você pode criar seu próprio protetor de senha e aplicativo de remoção de senha usando a API .NET.

Para saber mais sobre GroupDocs.Merger for .NET, visite a documentação. Em caso de dúvidas, contate-nos através do fórum.

Obtenha uma licença de API gratuita

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

Veja também