Оскільки організації все більше покладаються на Excel для зберігання та обміну чутливими даними, забезпечення того, щоб ця інформація залишалася захищеною, є першочерговим завданням. The Aspose.Cells LowCode Spreadsheet Locker надає простий спосіб реалізувати міцні заходи безпеки з мінімальними зусиллями кодування.

Ця стаття вивчає, як використовувати бібліотеку Aspose.Cells для забезпечення документів Excel, що охоплює все від базової захисту рівня файлів до більш передових багатоповерхових стратегій та технологій обробки пакетів.

Ключові характеристики Aspose.Cells LowCode Spreadsheet Locker

  • Захист рівня файлів: Зашифрує цілі файли для обмеження доступу на основі паролів.
  • Захист на робочому столі: Контроль дозволів користувача на рівні робочого листа для гранулярної безпеки.
  • Захист структури: Забороняється несанкціоновані зміни в структурах та розташуваннях робочих книг.
  • Batch Processing: Автоматичний захист через кілька документів Excel ефективно.

Захист базового рівня файлів

Зробіть своє середовище

Перед тим, як зануритися в код, переконайтеся, що у вашого проекту встановлено Aspose.Cells. Ви можете додати його через NuGet Package Manager або завантажуючи бібліотеку безпосередньо з офіційного сайту.

Прикладний код для базового рівня захисту файлів

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

Прогресивні стратегії захисту

Стратегія багатоповерхової захисту

Впровадження багатоповерхової стратегії захисту включає в себе поєднання шифрування на рівні файлів з робочою таблицею та структурою захисту, щоб забезпечити всебічну безпеку.

Приклад Кодексу для захисту 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");
}

Обробка бач з доповіддю про прогрес

Для сценаріїв, що включають велику кількість файлів Excel, обробка пакетів може значно ускладнити процес захисту.

Кодекс для захисту батареї

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, організації можуть реалізувати міцні заходи безпеки для Excel-документів з мінімальними зусиллями кодування.Цей підхід не тільки полегшує реалізацію безпеки документів, але також забезпечує гнучкість для адаптації стратегій захисту на основі конкретних вимог.

Для отримання додаткової інформації та додаткових прикладів зверніться до Завантажити Aspose.Cells.LowCode API.

More in this category