Karena organisasi semakin bergantung pada Excel untuk menyimpan dan berbagi data sensitif, memastikan bahwa informasi ini tetap dilindungi adalah hal utama. Aspose.Cells LowCode Spreadsheet Locker memberikan cara yang mudah untuk melaksanakan langkah-langkah keamanan yang kuat dengan usaha kode minimum.

Artikel ini mengeksplorasi cara menggunakan perpustakaan Aspose.Cells untuk memastikan dokumen Excel, mencakup segala sesuatu dari perlindungan tingkat file dasar ke strategi multi-layer yang lebih maju dan teknik pemrosesan batch.

Ciri-ciri utama Aspose.Cells LowCode Spreadsheet Locker

  • File-Level Protection: Menyulitkan seluruh file untuk membatasi akses berdasarkan kata sandi.
  • Pelindung Lembaran Kerja-Level: Mengontrol keizinan pengguna di level lembaran kerja untuk keamanan granular.
  • Perlindungan Struktur: Menghindari perubahan yang tidak diizinkan pada struktur buku kerja dan tataletak.
  • Proses batch: Perlindungan otomatis di berbagai dokumen Excel dengan efisien.

Perlindungan File Level

Meningkatkan Lingkungan Anda

Sebelum menyelam ke dalam kode, pastikan Anda memiliki Aspose.Cells terinstal di proyek Anda. Anda dapat menambahkan melalui NuGet Package Manager atau dengan mengunduh perpustakaan langsung dari situs resmi.

Contoh Kode untuk Perlindungan File-Level

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

Subseksinya: Pengujian dan Validasi

Setelah melaksanakan perlindungan tingkat file dasar, penting untuk mengkonfirmasi bahwa file yang dilindungi tidak dapat diakses tanpa kata sandi yang benar.

Fungsi tes contoh

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

Strategi perlindungan lanjutan

Strategi Perlindungan Multi-Layer

Implementasi strategi perlindungan multi-layer melibatkan menggabungkan enkripsi tingkat file dengan pelindung lembar kerja dan struktur untuk memberikan keamanan yang komprehensif.

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

Batch Processing dengan Progress Reporting

Untuk skenario yang melibatkan sejumlah besar file Excel, pemrosesan batch dapat secara signifikan mempercepat proses perlindungan.

Contoh kode untuk perlindungan 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}");
}

Kesimpulan

Dengan menggunakan Aspose.Cells LowCode Spreadsheet Locker, organisasi dapat melaksanakan langkah-langkah keamanan yang kuat untuk dokumen Excel dengan usaha pengekodan minimum. pendekatan ini tidak hanya memudahkan implementasi keamanan dokumen tetapi juga memberikan fleksibilitas untuk menyesuaikan strategi perlindungan berdasarkan persyaratan spesifik.

Untuk informasi lebih lanjut dan contoh tambahan, lihat Spesifikasi Aspose.Cells.LowCode API.

More in this category