À 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.

More in this category