随着组织越来越依赖Excel存储和共享敏感数据,确保这些信息保持保护是最重要的。The Aspose.Cells LowCode Spreadsheet Locker提供了一个简单的方式来实施坚实的安全措施,尽量编码.

本文探讨了如何使用 Aspose.Cells 图书馆以确保 Excel 文档,从基本文件级保护到更先进的多层策略和包处理技术.

Aspose.Cells LowCode Spreadsheet Locker 的关键功能

  • 文件级保护: 加密完整的文件以限制基于密码的访问.
  • Worksheet-Level Protection: 控制工作表级别的用户许可,以确保大小安全.
  • 结构保护: 防止未经授权的工作簿结构和布局变更.
  • Batch 处理: 通过多个 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;
    }
}

先进的保护策略

多层保护策略

实施多层保护策略包括将文件级加密与工作表和结构保护相结合,以提供全面的安全性.

多层保护的示例代码

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 处理与进展报告

对于涉及大量 Excel 文件的场景,包处理可以显著简化保护过程.

示例代码 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}");
}

结论

通过使用 Aspose.Cells LowCode Spreadsheet Locker,组织可以以最小的编码努力实施 Excel 文件的坚实安全措施,这种方法不仅简化了文档安全的实施,而且还提供了基于具体要求适应保护策略的灵活性.

要了解更多信息和更多例子,请参阅 Aspose.Cells.LowCode API 参考.

More in this category