Пошто се организације све више ослањају на Екцел за складиштење и дељење осетљивих података, осигурање да ове информације остану заштићене је од суштинског значаја.

Овај чланак истражује како да користите библиотеку Aspose.Cells за обезбеђивање Екцел докумената, покривајући све од основне заштите нивоа датотеке до напредније мулти-слојне стратегије и технике обраде бацх.

Кључне карактеристике Aspose.Cells LowCode Spreadsheet Locker

  • Заштита нивоа датотеке: шифрује целу листу да би се ограничио приступ заснован на лозинкама.
  • Worksheet-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);
}

Подсекција: Тестирање и валидација

Након имплементације основне заштите нивоа датотеке, од суштинског значаја је да се валидише да заштићени датови се не могу приступити без исправног лозинке.

Пример тест функције

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

Напредне стратегије за заштиту

Стратегија мулти-лајер заштите

Увођење мулти-слојне стратегије заштите укључује комбиновање шифровања на нивоу датотека са радном листу и заштитом структуре како би се обезбедила свеобухватна сигурност.

Код примера за мулти-лаиер заштиту

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

Батцх обрада са извештавањем о напретку

За сценарије који укључују велики број Екцел датотека, обрада баццх-а може значајно ускладити процес заштите.

Код примера за заштиту бацх

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

Закључак

Користећи Aspose.Cells LowCode Spreadsheet Locker, организације могу имплементирати јаке безбедносне мере за Екцел документе са минималним напором кодирања. Овај приступ не само да олакшава реализацију безбедности докумената, већ и пружа флексибилност прилагођавања заштитних стратегија заснованих на специфичним захтевима.

За више информација и додатних примера, погледајте Aspose.Cells.LowCode API Референце.

More in this category