Come le organizzazioni si affidano sempre di più a Excel per memorizzare e condividere dati sensibili, assicurarsi che queste informazioni rimangano protette è fondamentale. The Aspose.Cells LowCode Spreadsheet Locker fornisce un modo semplice per implementare solide misure di sicurezza con un minimo di sforzo di codifica.

Questo articolo esplora come utilizzare la libreria Aspose.Cells per proteggere i documenti Excel, che copre tutto dalla protezione di livello di file di base alle più avanzate strategie multi-layer e tecniche di elaborazione di pacchetti.

Caratteristiche chiave di Aspose.Cells LowCode Spreadsheet Locker

  • Protezione a livello di file: Criptare tutti i file per restringere l’accesso basato su password.
  • Protezione dei livelli di lavoro: Controlla le autorizzazioni dell’utente al livello del livellino per la sicurezza granulare.
  • Protezione strutturale: Prevenire i cambiamenti non autorizzati nelle strutture e nei layout del libro di lavoro.
  • Batch Processing: Proteggere automaticamente attraverso più documenti Excel in modo efficiente.

Protezione dei file a livello di base

Sviluppare il tuo ambiente

Prima di immersi nel codice, assicurati di avere Aspose.Cells installato nel tuo progetto. Puoi aggiungerlo tramite NuGet Package Manager o scaricando la biblioteca direttamente dal sito ufficiale.

Esempio di codice per la protezione di file di base

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);
}

Sezione: Test e Validazione

Dopo l’implementazione della protezione di livello di file di base, è fondamentale valutare che i file protetti non possono essere raggiunti senza la password corretta.

Esempio funzione di test

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;
    }
}

Strategie avanzate di protezione

Strategia di protezione multi-laurea

L’attuazione di una strategia di protezione multi-layer implica la combinazione della crittografia a livello di file con le schede di lavoro e le protezioni strutturali per fornire una sicurezza completa.

Codice esemplare per la protezione 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");
}

Batch Processing con Rapporto di Progresso

Per i scenari che coinvolgono un gran numero di file Excel, il processamento di batch può semplificare significativamente il processo di protezione.

Esempio di codice per la protezione 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}");
}

conclusione

Utilizzando Aspose.Cells LowCode Spreadsheet Locker, le organizzazioni possono implementare solide misure di sicurezza per i documenti Excel con un minimo di sforzo di codifica.Questo approccio non solo semplifica l’implementazione della sicurezza del documento ma fornisce anche la flessibilità per adattare le strategie di protezione basate su requisiti specifici.

Per maggiori informazioni e ulteriori esempi, si prega di Aspose.Cells.LowCode API di riferimento.

More in this category