Skydda och avskydda Excel-filer

Microsoft Excel är en populär programvara för att hantera data i organisationer. Det beror främst på dess avancerade datamanipulerings- och representationsfunktioner. I denna teknologiska tidsålder delas dokument virtuellt istället för tryckta kopior. Dessa filer kan innehålla komplexa och känsliga data. Så för att bibehålla sådana filers integritet kan du behöva skydda dem mot modifiering. Excels skyddsfunktioner är användbara för detta ändamål. I den här artikeln kommer du att lära dig hur du skyddar och avskyddar Excel-filer programmatiskt med C++.

C++ API för att skydda och avskydda Excel-filer - Gratis nedladdning

Aspose.Cells for C++ är ett inbyggt C++-bibliotek som låter dig manipulera Excel-filer utan att behöva installera Microsoft Excel. Därför används den för att automatisera många Excel-arbetsflöden. API:et tillhandahåller ett gäng användbara funktioner, inklusive att skydda och avskydda Excel-filer. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.

PM> Install-Package Aspose.Cells.Cpp

Skydda Excel-filer med C++

Aspose.Cells för C++ tillhandahåller följande skyddstyper för att skydda Excel-filer.

  • Alla: Skydda hela data så att användaren inte kan ändra någonting.
  • Innehåll: Skydda innehållet i arbetsbladet.
  • Objekt: Skydda objekten i kalkylbladet så att användaren inte kan ändra ritobjekt.
  • Scenarier: Skydda scenarierna i kalkylbladet.
  • Struktur: Skydda strukturen i arbetsboken.
  • Windows: Skydda de sparade fönstren från modifiering.
  • Inget: Inget skydd tillämpas.

Följande är stegen för att skydda Excel-filer med C++.

Följande kodexempel visar hur du skyddar Excel-filer med C++.

// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\");

// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");

// Ladda Excel-fil
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));

// Skydda arbetsboken genom att ange skyddstyp
workbook->Protect(ProtectionType::ProtectionType_All, new String("12345"));

// Spara Excel-filen
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protected_out.xlsx")));

Ta bort skyddet för Excel-arbetsboken med C++

Följande är stegen för att ta bort skyddet av en Excel-fil.

Följande kodexempel visar hur du tar bort skyddet av Excel-filer.

// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\");

// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");

// Ladda Excel-fil
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtected.xlsx")));

// Avskydda arbetsboken
workbook->Unprotect(new String("12345"));

// Ställ in lösenordet till null
workbook->GetISettings()->SetPassword(NULL);

// Spara Excel-filen
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotected_out.xlsx")));

Skydda Excel-kalkylblad med C++

Förutom att skydda Excel-filer kan du också skydda enskilda kalkylblad. Använd följande steg för att skydda Excel-kalkylblad.

Följande kodexempel visar hur du skyddar Excel-kalkylblad.

// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\");

// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");

// Ladda Excel-fil
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));

// Åtkomst till det första kalkylbladet i Excel-filen
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Få åtkomst till kalkylbladets skydd
intrusive_ptr<IProtection> protection = worksheet->GetIProtection();

// Följande 3 metoder är endast för Excel 2000 och tidigare format
protection->SetAllowEditingContent(false);
protection->SetAllowEditingObject(false);
protection->SetAllowEditingScenario(false);

// Skydda det första kalkylbladet med lösenordet "12345"
protection->SetPassword(new String("12345"));

// Spara Excel-filen
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protectedWorksheet_out.xlsx")));

Ta bort skyddet av Excel-kalkylblad med C++

Följande är stegen för att ta bort skyddet av Excel-kalkylblad.

Följande kodexempel visar hur du tar bort skyddet av Excel-kalkylblad med C++.

// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\");

// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");

// Ladda Excel-fil
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtectedWorksheet.xlsx")));

// Åtkomst till det första kalkylbladet i Excel-filen
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Ta bort skyddet för arbetsbladet
worksheet->Unprotect(new String("12345"));

// Spara Excel-filen
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotectedWorksheet_out.xlsx")));

Skaffa en gratis licens

Du kan prova API:et utan utvärderingsbegränsningar genom att begära en gratis tillfällig licens.

Slutsats

I den här artikeln har du lärt dig hur du skyddar och avskyddar Excel-filer med C++. Utöver det har du också lärt dig hur du skyddar arbetsblad mot ändringar. Aspose.Cells för C++ är ett stort Excel-manipulations-API för automatisering av uppgifter som att ersätta text i celler eller bearbeta komplexa data som representeras i grafer och diagram. Du kan utforska API:et i detalj genom att använda officiell dokumentation.

Se även