組織が敏感なデータを保存および共有するために Excel にますます依存しているため、この情報が保護されていることを確保することは重要です Aspose.Cells LowCode スプレッドシート ロッカーは、最小限の暗号化努力で強力なセキュリティ対策を実施するための簡単な方法を提供します。

この記事では、基本的なファイルレベルの保護からより高度な多層戦略やバッチ処理テクニックに至るまで、すべてをカバーするExcel文書をセキュリティに使用する方法を調べます。

Aspose.Cells LowCode スプレッドシート ロッカー

  • ファイルレベルの保護: パスワードに基づくアクセスを制限するために全ファイルを暗号化します。
  • Worksheet-Level Protection: グラナルセキュリティのためのワークシートレベルでユーザーの許可を制御します。
  • 構造保護: ワークブック構築および配置の許可されていない変更を防ぐ。
  • バッチ処理: 複数の 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");
}

バッチ処理と進歩報告

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