À medida que as organizações dependem cada vez mais do Excel para armazenar e compartilhar dados sensíveis, garantir que essas informações permanecem protegidas é fundamental.O Aspose.Cells LowCode Spreadsheet Locker fornece uma maneira simples de implementar medidas de segurança robustas com um mínimo de esforço de codificação.
Este artigo explora como usar a biblioteca Aspose.Cells para garantir documentos do Excel, cobrindo tudo desde proteção de nível de arquivo básico para estratégias mais avançadas de múltiplas camadas e técnicas de processamento de pacotes.
Características-chave de Aspose.Cells LowCode Spreadsheet Locker
- Proteção de nível de arquivo: Criptografar todos os arquivos para restringir o acesso baseado em senhas.
- Proteção de nível de folha de trabalho: Controle as permissões do usuário no nível do folheto para a segurança granular.
- Proteção de estruturas: Evite alterações não autorizadas em estruturadas e layouts de livros de trabalho.
- Batch Processing: Proteja automaticamente vários documentos do Excel de forma eficiente.
Proteção de nível de arquivo básico
Desenvolva seu ambiente
Antes de mergulhar no código, certifique-se de que você tem Aspose.Cells instalado em seu projeto. Você pode adicioná-lo através do NuGet Package Manager ou baixando a biblioteca diretamente do site oficial.
Código de exemplo para proteção de nível de arquivo básico
public void ProtectExcelFile(string inputFile, string outputFile, string password)
{
// Configure loading options
LowCodeLoadOptions loadOptions = new LowCodeLoadOptions { InputFile = inputFile };
// Configure saving options
LowCodeSaveOptions saveOptions = new LowCodeSaveOptions {
OutputFile = outputFile,
SaveFormat = SaveFormat.Xlsx
};
// Apply file-level protection
SpreadsheetLocker.Process(loadOptions, saveOptions, password, null);
}
Subsezione: Teste e Validação
Após a implementação da proteção de nível de arquivo básico, é crucial verificar que os arquivos protegidos não podem ser acessados sem a senha correta.
Exemplo de função de teste
public void ValidateFileProtection(string filePath)
{
try
{
// Attempt to open the file with an incorrect password
new Workbook(filePath, new LoadOptions { Password = "wrongpassword" });
Console.WriteLine("Warning: File opened with incorrect password!");
}
catch (CellsException ex)
{
if (ex.Code == ExceptionType.IncorrectPassword)
Console.WriteLine("Success: Incorrect password rejected.");
else
throw;
}
}
Estratégias avançadas de proteção
Estratégia de Proteção Multi-Layer
A implementação de uma estratégia de proteção com múltiplas camadas envolve a combinação da criptografia de nível de arquivo com proteções de folha de trabalho e estrutura para fornecer segurança abrangente.
Código de Exemplo para Proteção Multi-Layer
public void ApplyMultiLayerProtection(string inputFile, string outputFile, string filePassword)
{
// Configure loading options
LowCodeLoadOptions loadOptions = new LowCodeLoadOptions { InputFile = inputFile };
using (Workbook workbook = new Workbook(inputFile))
{
// Protect workbook structure
workbook.Settings.WriteProtection.SetPassword("StructurePassword");
// Protect worksheets
foreach (Worksheet worksheet in workbook.Worksheets)
worksheet.Protect(ProtectionType.All, "SheetPassword", true);
// Save the intermediate workbook
workbook.Save("intermediate.xlsx");
}
LowCodeSaveOptions saveOptions = new LowCodeSaveOptions {
InputFile = "intermediate.xlsx",
OutputFile = outputFile,
SaveFormat = SaveFormat.Xlsx
};
// Apply file-level encryption
SpreadsheetLocker.Process(loadOptions, saveOptions, filePassword, null);
if (File.Exists("intermediate.xlsx"))
File.Delete("intermediate.xlsx");
}
Processamento de batch com relatório de progresso
Para os cenários que envolvem um grande número de arquivos do Excel, o processamento de batch pode simplificar significativamente o processo de proteção.
Código de Proteção de Batch
public void BatchProtectExcelFiles(string[] inputFiles, string outputDirectory, string password)
{
if (!Directory.Exists(outputDirectory))
Directory.CreateDirectory(outputDirectory);
int totalFiles = inputFiles.Length;
int processedFiles = 0;
int successCount = 0;
int failCount = 0;
foreach (string inputFile in inputFiles)
{
try
{
string fileName = Path.GetFileName(inputFile);
string outputPath = Path.Combine(outputDirectory, $"Protected_{fileName}");
LowCodeLoadOptions loadOptions = new LowCodeLoadOptions { InputFile = inputFile };
LowCodeSaveOptions saveOptions = new LowCodeSaveOptions {
OutputFile = outputPath,
SaveFormat = SaveFormat.Xlsx
};
SpreadsheetLocker.Process(loadOptions, saveOptions, password, null);
successCount++;
Console.WriteLine($"Protected {fileName} successfully");
}
catch (Exception ex)
{
failCount++;
Console.WriteLine($"Failed to protect {Path.GetFileName(inputFile)}: {ex.Message}");
}
processedFiles++;
double progressPercentage = (double)processedFiles / totalFiles * 100;
Console.WriteLine($"Progress: {progressPercentage:F1}% ({processedFiles}/{totalFiles})
}
Console.WriteLine($"Batch protection complete. Success: {successCount}, Failed: {failCount}");
}
Conclusão
Ao utilizar o Aspose.Cells LowCode Spreadsheet Locker, as organizações podem implementar medidas de segurança robustas para documentos do Excel com um mínimo de esforço de codificação. Esta abordagem não só simplifica a implementação da segurança de documentos, mas também fornece flexibilidade para adaptar estratégias de proteção com base em requisitos específicos.
Para mais informações e exemplos adicionais, consulte Aspose.Cells.LowCode API Referência.