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 zrušení ochrany souborů aplikace Excel
- Chraňte soubory Excel pomocí C++
- Odemkněte sešit Excel pomocí C++
- Chraňte sešit Excel pomocí C++
- Zrušte ochranu listu Excel pomocí C++
- Získejte bezplatnou licenci
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++.
- Načtěte soubor Excel pomocí třídy IWorkbook.
- Chraňte soubor pomocí IWorkbook->Protect(Apose::Cells::ProtectionType protectionType, intrusiveptrAspose::Cells::Systems::String heslo) metoda.
- Uložte chráněný soubor Excel pomocí IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) metoda.
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.
- Načtěte soubor Excel pomocí třídy IWorkbook.
- Zrušte ochranu souboru pomocí IWorkbook->Unprotect(intrusiveptrAspose::Cells::Systems::String heslo) metoda.
- Nastavte heslo na NULL pomocí IWorkbook->GetISettings()->SetPassword(intrusiveptrAspose::Cells::Systems::String hodnota) metoda.
- Uložte nechráněný soubor Excel pomocí IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) metoda.
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.
- Nejprve načtěte soubor Excel pomocí třídy IWorkbook.
- Získejte list, který chcete chránit, z kolekce listů pomocí metody IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32 index).
- Získejte ochranu listu pomocí metody IWorksheet->GetIProtection().
- Nastavte možnosti ochrany, jako je SetAllowEditingContent (hodnota bool).
- Nastavte heslo pomocí IPProtection->SetPassword (intrusiveptrAspose::Cells::Systems::String hodnota) metoda.
- Nakonec uložte soubor Excel s chráněným listem pomocí IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) metoda.
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.
- Načtěte soubor Excel pomocí třídy IWorkbook.
- Přístup k chráněnému listu použijte metodu IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32 index).
- Zrušte ochranu listu pomocí IWorksheet->Unprotect(intrusiveptrAspose::Cells::Systems::String heslo) metoda.
- Nakonec uložte soubor Excel s nechráněným listem pomocí IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) metoda.
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.