Microsoft Excel to popularne oprogramowanie do zarządzania danymi w organizacjach. Wynika to głównie z zaawansowanych funkcji manipulacji i reprezentacji danych. W dobie technologii dokumenty są udostępniane wirtualnie zamiast drukowanych kopii. Pliki te mogą zawierać złożone i wrażliwe dane. Aby zachować integralność takich plików, może być konieczne zabezpieczenie ich przed modyfikacją. W tym celu przydatne są funkcje ochrony programu Excel. W tym artykule dowiesz się, jak programowo chronić i usuwać ochronę plików Excela przy użyciu C++.
- Interfejs API języka C++ do ochrony i usuwania ochrony plików programu Excel
- Chroń pliki programu Excel za pomocą języka C++
- Usuń ochronę skoroszytu programu Excel przy użyciu języka C++
- Chroń arkusz programu Excel za pomocą języka C++
- Usuń ochronę arkusza kalkulacyjnego programu Excel przy użyciu języka C++
- Uzyskaj bezpłatną licencję
Interfejs API języka C++ do ochrony i usuwania ochrony plików programu Excel — bezpłatne pobieranie
Aspose.Cells for C++ to natywna biblioteka C++, która umożliwia manipulowanie plikami programu Excel bez konieczności instalowania programu Microsoft Excel. Dlatego służy do automatyzacji wielu przepływów pracy programu Excel. Interfejs API zapewnia szereg przydatnych funkcji, w tym ochronę i usuwanie ochrony plików Excel. Możesz zainstalować API poprzez NuGet lub pobrać bezpośrednio z sekcji Downloads.
PM> Install-Package Aspose.Cells.Cpp
Chroń pliki programu Excel za pomocą języka C++
Aspose.Cells for C++ zapewnia następujące typy ochrony do ochrony plików Excel.
- Wszystkie: Chroń całe dane, aby użytkownik nie mógł niczego modyfikować.
- Zawartość: Chroń zawartość arkusza.
- Obiekty: Chroń obiekty w arkuszu, aby użytkownik nie mógł modyfikować obiektów rysunkowych.
- Scenariusze: Chroń scenariusze w arkuszu.
- Struktura: Chroń strukturę skoroszytu.
- Windows: Chroń zapisane okna przed modyfikacją.
- Brak: nie zastosowano żadnej ochrony.
Poniżej przedstawiono kroki ochrony plików programu Excel przy użyciu języka C++.
- Załaduj plik programu Excel przy użyciu klasy IWorkbook.
- Chroń plik za pomocą IWorkbook->Protect(Aspose::Cells::ProtectionType protectionType, intrusiveptrAspose::Cells::Systems::String hasło) metoda.
- Zapisz chroniony plik programu Excel za pomocą opcji IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniższy przykładowy kod pokazuje, jak chronić pliki programu Excel przy użyciu języka C++.
// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Załaduj plik Excela
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));
// Chroń skoroszyt, określając typ ochrony
workbook->Protect(ProtectionType::ProtectionType_All, new String("12345"));
// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protected_out.xlsx")));
Usuń ochronę skoroszytu programu Excel przy użyciu języka C++
Poniżej przedstawiono kroki, aby usunąć ochronę pliku programu Excel.
- Załaduj plik programu Excel przy użyciu klasy IWorkbook.
- Usuń ochronę pliku za pomocą polecenia IWorkbook->Unprotect(intrusiveptrAspose::Cells::Systems::String hasło) metoda.
- Ustaw hasło na NULL za pomocą IWorkbook->GetISettings()->SetPassword(intrusiveptrAspose::Cells::Systems::String wartość) metoda.
- Zapisz niezabezpieczony plik programu Excel za pomocą polecenia IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniższy przykładowy kod pokazuje, jak wyłączyć ochronę plików programu Excel.
// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Załaduj plik Excela
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtected.xlsx")));
// Wyłącz ochronę skoroszytu
workbook->Unprotect(new String("12345"));
// Ustaw hasło na zero
workbook->GetISettings()->SetPassword(NULL);
// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotected_out.xlsx")));
Chroń arkusz programu Excel za pomocą języka C++
Oprócz ochrony plików programu Excel można również chronić poszczególne arkusze robocze. Wykonaj poniższe czynności, aby zabezpieczyć arkusze programu Excel.
- Najpierw załaduj plik Excela przy użyciu klasy IWorkbook.
- Pobierz arkusz, który chcesz chronić przed kolekcją arkuszy, używając metody IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32 index).
- Uzyskaj ochronę arkusza za pomocą metody IWorksheet->GetIProtection().
- Ustaw opcje ochrony, takie jak SetAllowEditingContent (wartość bool).
- Ustaw hasło za pomocą opcji IProtection->SetPassword (intrusiveptrAspose::Cells::Systems::String wartość) metoda.
- Na koniec zapisz plik Excel z chronionym arkuszem za pomocą IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniższy przykładowy kod pokazuje, jak chronić arkusz programu Excel.
// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Załaduj plik Excela
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));
// Dostęp do pierwszego arkusza w pliku Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Uzyskaj dostęp do ochrony arkusza
intrusive_ptr<IProtection> protection = worksheet->GetIProtection();
// Poniższe 3 metody dotyczą tylko formatów programu Excel 2000 i wcześniejszych
protection->SetAllowEditingContent(false);
protection->SetAllowEditingObject(false);
protection->SetAllowEditingScenario(false);
// Chroń pierwszy arkusz hasłem „12345”
protection->SetPassword(new String("12345"));
// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protectedWorksheet_out.xlsx")));
Usuń ochronę arkusza kalkulacyjnego programu Excel przy użyciu języka C++
Poniżej przedstawiono kroki wyłączania ochrony arkuszy programu Excel.
- Załaduj plik programu Excel przy użyciu klasy IWorkbook.
- Uzyskaj dostęp do chronionego arkusza przy użyciu metody IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32 index).
- Wyłącz ochronę arkusza za pomocą polecenia IWorksheet->Unprotect(intrusiveptrAspose::Cells::Systems::String hasło) metoda.
- Na koniec zapisz plik Excela z niezabezpieczonym arkuszem za pomocą IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniższy przykładowy kod pokazuje, jak wyłączyć ochronę arkusza programu Excel przy użyciu języka C++.
// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Załaduj plik Excela
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtectedWorksheet.xlsx")));
// Dostęp do pierwszego arkusza w pliku Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Usuń ochronę arkusza
worksheet->Unprotect(new String("12345"));
// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotectedWorksheet_out.xlsx")));
Uzyskaj bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się, jak chronić i usuwać ochronę plików programu Excel za pomocą języka C++. Oprócz tego nauczyłeś się również, jak chronić arkusze przed modyfikacjami. Aspose.Cells for C++ to rozbudowany interfejs API do manipulacji w programie Excel do automatyzacji zadań, takich jak zastępowanie tekstu w komórkach lub przetwarzanie złożonych danych reprezentowanych na wykresach i diagramach. Możesz szczegółowo zapoznać się z interfejsem API, korzystając z oficjalnej dokumentacji.