Chroń i usuwaj ochronę plików Excel

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 — 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++.

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.

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.

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.

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.

Zobacz też