Eftersom organisationer allt mer förlitar sig på Excel för att lagra och dela känsliga data, är det viktigaste att se till att denna information förblir skyddad. Aspose.Cells LowCode Spreadsheet Locker ger ett enkelt sätt att genomföra robusta säkerhetsåtgärder med minimal kodningsansträngning.

Denna artikel undersöker hur man använder Aspose.Cells-biblioteket för att säkerställa Excel-dokument, som täcker allt från grundläggande filnivåskydd till mer avancerade flerlagstrategier och batchbehandlingstekniker.

Nyckelfunktioner av Aspose.Cells LowCode Spreadsheet Locker

  • File-Level Protection: Krypterar hela filer för att begränsa åtkomst baserat på lösenord.
  • Worksheet-Level Protection: Kontrollera användarens tillstånd på arbetsfältet för granulär säkerhet.
  • Strukturskydd: Förhindra obehöriga ändringar i arbetsböckestrukturer och layouter.
  • Batchbehandling: Automatiskt skydd över flera Excel-dokument effektivt.

Grundläggande filskyddsnivå

Ställ upp din miljö

Innan du dyker in i koden, se till att du har Aspose.Cells installerat i ditt projekt. Du kan lägga till det via NuGet Package Manager eller genom att ladda ner biblioteket direkt från den officiella hemsidan.

Exempelkod för Basic File-Level Protection

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

Avsnitt: Testning och validering

Efter att ha implementerat grundläggande filnivåskydd är det viktigt att bekräfta att de skyddade filerna inte kan komma åt utan rätt lösenord.

Exempel på testfunktion

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

Avancerade skyddsstrategier

Multi-Layer skyddsstrategi

Genomförandet av en flerlagersskyddsstrategi innebär att filnivåskryptering kombineras med arbetsblad och strukturskydd för att ge omfattande säkerhet.

Exempelkod för Multi-Layer Protection

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 med Progress Reporting

För scenarier som involverar ett stort antal Excel-filer kan batchbehandling avsevärt förenkla skyddsprocessen.

Exempelkod för batchskydd

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

slutsatser

Genom att använda Aspose.Cells LowCode Spreadsheet Locker kan organisationer genomföra robusta säkerhetsåtgärder för Excel-dokument med minimala kodningsinsatser.Denna metod förenklar inte bara genomförandet av dokumentsäkerhet utan ger också flexibilitet för att anpassa skyddsstrategier baserade på specifika krav.

För mer information och ytterligare exempel hänvisar du till Aspose.Cells.LowCode API Referens.

More in this category