Kadangi organizacijos vis labiau pasikliauja „Excel“ jautrių duomenų saugojimui ir pasidalijimui, būtina užtikrinti, kad ši informacija išliktų apsaugota. „Aspose.Cells LowCode Spreadsheet Locker“ suteikia paprastą būdą įgyvendinti tvirtas saugumo priemones su minimaliu kodavimo pastangomis.

Šiame straipsnyje ištirta, kaip naudoti „Aspose.Cells“ biblioteką, kad būtų saugomi „Excel“ dokumentai, apimantys viską nuo pagrindinio failų lygio apsaugos iki pažangesnių daugiapakopio strategijų ir pakopų apdorojimo metodų.

Pagrindinės Aspose.Cells LowCode skirstymo plokštės Locker savybės

  • File-Level Protection: Šifruoja visus failus, kad apribotų prieigą, pagrįstą slaptažodžiais.
  • ** Darbo lapo lygio apsauga:** Naudotojo leidimus kontroliuoti darbalaukio lygmeniu, kad būtų užtikrintas granuliarus saugumas.
  • Struktūros apsauga: Užkirsti kelią nepriimtiniems darbdavių struktūrų ir išdėstymų pokyčiams.
  • Batch apdorojimas: Automatiškai apsaugoti įvairius Excel dokumentus efektyviai.

Pagrindinis failų lygio apsauga

Sukurkite savo aplinką

Prieš nusileidžiant į kodą, įsitikinkite, kad jūsų projekte yra įdiegta Aspose.Cells. galite jį pridėti per NuGet Package Manager arba tiesiogiai atsisiunčiant biblioteką iš oficialios svetainės.

Pagrindinio failų apsaugos lygio kodas

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

Žyma: bandymai ir patvirtinimas

Įgyvendinus pagrindinę failų lygio apsaugą, labai svarbu patvirtinti, kad saugomi failai negali būti prieinami be teisingo slaptažodžio.

Pavyzdžiui, bandymų funkcija

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

Išplėstinės apsaugos strategijos

Daugiapakopės apsaugos strategija

Daugiapakopės apsaugos strategijos įgyvendinimas apima failų lygio šifravimą su darbalaukio ir struktūros apsauga, kad būtų užtikrintas visapusiškas saugumas.

Multi-Layer apsaugos kodas

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 apdorojimas su pažangos ataskaitų teikimu

Dėl scenarijų, susijusių su dideliu skaičiumi “Excel” failų, rinkinys apdorojimas gali žymiai supaprastinti apsaugos procesą.

Pavyzdžiui, Batch apsaugos kodas

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

Conclusion

Naudodami „Aspose.Cells LowCode Spreadsheet Locker“, organizacijos gali įgyvendinti tvirtas saugos priemones „Excel“ dokumentams su minimaliu kodavimo pastangomis.Šis metodas ne tik supaprastina dokumentų saugumo įgyvendinimą, bet ir suteikia lankstumą pritaikyti apsaugos strategijas, pagrįstas konkrečiais reikalavimais.

Norėdami gauti daugiau informacijos ir papildomų pavyzdžių, žr. Aspose.Cells.LowCode API nuoroda.

More in this category