Ochrana a zrušení ochrany souborů aplikace Excel

Microsoft Excel je oblíbený software pro správu dat v organizacích. Je to hlavně kvůli jeho pokročilé manipulaci s daty a funkcím reprezentace. V tomto technologickém věku jsou dokumenty sdíleny virtuálně namísto tištěných kopií. Tyto soubory mohou obsahovat složitá a citlivá data. Chcete-li tedy zachovat integritu takových souborů, možná je budete muset chránit před změnami. Pro tento účel se hodí ochranné funkce aplikace Excel. V tomto článku se dozvíte, jak chránit a zrušit ochranu souborů Excel programově pomocí C++.

C++ API pro ochranu a odblokování souborů aplikace Excel – ke stažení zdarma

Aspose.Cells for C++ je nativní knihovna C++, která vám umožňuje manipulovat se soubory aplikace Excel bez nutnosti instalace aplikace Microsoft Excel. Proto se používá pro automatizaci mnoha pracovních postupů aplikace Excel. Rozhraní API poskytuje spoustu užitečných funkcí, včetně ochrany a odblokování souborů aplikace Excel. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.

PM> Install-Package Aspose.Cells.Cpp

Chraňte soubory Excel pomocí C++

Aspose.Cells for C++ poskytuje následující typy ochrany pro ochranu souborů aplikace Excel.

  • Vše: Chrání všechna data, aby uživatel nemohl nic měnit.
  • Obsah: Chrání obsah listu.
  • Objekty: Chraňte objekty v listu, aby uživatel nemohl upravovat nakreslené objekty.
  • Scénáře: Chraňte scénáře v listu.
  • Struktura: Chraňte strukturu sešitu.
  • Windows: Chraňte uložená okna před úpravami.
  • Žádná: Není použita žádná ochrana.

Následují kroky pro ochranu souborů Excel pomocí C++.

Následující ukázka kódu ukazuje, jak chránit soubory aplikace Excel pomocí C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načíst soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));

// Chraňte sešit zadáním typu ochrany
workbook->Protect(ProtectionType::ProtectionType_All, new String("12345"));

// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protected_out.xlsx")));

Odemkněte sešit Excel pomocí C++

Následují kroky k odjištění souboru aplikace Excel.

Následující ukázka kódu ukazuje, jak zrušit ochranu souborů aplikace Excel.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načíst soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtected.xlsx")));

// Zrušte ochranu sešitu
workbook->Unprotect(new String("12345"));

// Nastavte heslo na null
workbook->GetISettings()->SetPassword(NULL);

// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotected_out.xlsx")));

Chraňte sešit Excel pomocí C++

Kromě ochrany souborů aplikace Excel můžete také chránit jednotlivé listy. Chcete-li chránit listy aplikace Excel, použijte následující kroky.

Následující ukázka kódu ukazuje, jak chránit list aplikace Excel.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načíst soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));

// Přístup k prvnímu listu v souboru aplikace Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Přístup k ochraně listu
intrusive_ptr<IProtection> protection = worksheet->GetIProtection();

// Následující 3 metody jsou pouze pro formáty Excel 2000 a dřívější
protection->SetAllowEditingContent(false);
protection->SetAllowEditingObject(false);
protection->SetAllowEditingScenario(false);

// Chraňte první list heslem "12345"
protection->SetPassword(new String("12345"));

// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protectedWorksheet_out.xlsx")));

Odemkněte Excel Worksheet pomocí C++

Níže jsou uvedeny kroky pro odblokování listů aplikace Excel.

Následující ukázka kódu ukazuje, jak zrušit ochranu listu aplikace Excel pomocí C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načíst soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtectedWorksheet.xlsx")));

// Přístup k prvnímu listu v souboru aplikace Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Zrušte ochranu listu
worksheet->Unprotect(new String("12345"));

// Uložte soubor aplikace Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotectedWorksheet_out.xlsx")));

Získejte bezplatnou licenci

Rozhraní API můžete vyzkoušet bez omezení hodnocení tím, že požádáte o bezplatnou dočasnou licenci.

Závěr

V tomto článku jste se naučili, jak chránit a zrušit ochranu souborů Excel pomocí C++. Kromě toho jste se také naučili, jak chránit pracovní listy před úpravami. Aspose.Cells for C++ je rozsáhlé rozhraní API pro manipulaci s Excelem pro automatizaci úloh, jako je nahrazování textu v buňkách nebo zpracování složitých dat znázorněných v grafech a grafech. Rozhraní API můžete podrobně prozkoumat pomocí oficiální dokumentace.

Viz také