Skydda och ta bort skydd arbetsblad

Skydda arbetsblad

När ett kalkylblad är skyddat är de åtgärder en användare kan vidta begränsade. De kan till exempel inte mata in data, infoga eller ta bort rader eller kolumner etc. De allmänna skyddsalternativen i Microsoft Excel är:

  • Innehåll
  • Föremål
  • Scenarier

Skyddade kalkylblad döljer eller skyddar inte känslig data, så det skiljer sig från filkryptering. I allmänhet är kalkylbladsskydd lämpligt för presentationsändamål. Det hindrar slutanvändaren från att ändra data, innehåll och formatering i kalkylbladet.

Lägga till eller ta bort skydd

Aspose.Cells tillhandahåller en klass,Arbetsbok , som representerar en Microsoft Excel-fil. Klassen Workbook innehåller en WorksheetCollection som gör det möjligt att komma åt varje kalkylblad i en Excel-fil. Ett arbetsblad representeras avArbetsblad klass.

Worksheet-klassen tillhandahållerSkydda metod som används för att tillämpa skydd på ett kalkylblad. Protect-metoden accepterar följande parametrar:

  • Skyddstyp, den typ av skydd som ska tillämpas på kalkylbladet. Skyddstyp appliceras med hjälp avProtectionType uppräkning.
  • Nytt lösenord, det nya lösenordet som används för att skydda kalkylbladet.
  • Old Password, det gamla lösenordet, om kalkylbladet redan är lösenordsskyddat. Om kalkylbladet inte redan är skyddat, skicka bara en noll.

ProtectionType-uppräkningen innehåller följande fördefinierade skyddstyper:

Skyddstyper Beskrivning
ALLT Användaren kan inte ändra något i detta kalkylblad
INNEHÅLL Användaren kan inte ange data i detta kalkylblad
FÖREMÅL Användaren kan inte ändra ritobjekt
SCENARIER Användaren kan inte ändra sparade scenarier
STRUKTURERA Användaren kan inte ändra sparad struktur
FÖNSTER Användaren kan inte ändra sparade fönster
INGEN Inget skydd

Exemplet nedan visar hur man skyddar ett kalkylblad med ett lösenord.

Efter att ovanstående kod har använts för att skydda kalkylbladet, kontrollera skyddet på kalkylbladet genom att öppna det. När du öppnar filen och försöker lägga till några data till kalkylbladet, visas följande dialogruta:

En dialogruta som varnar om att en användare inte kan ändra kalkylbladet

todo:image_alt_text

För att arbeta med kalkylbladet, avskydda kalkylbladet genom att väljaSkydd , dåAvskydda arket frånVerktyg menyalternativ som visas nedan.

Välja Unprotect Sheet menyalternativ

todo:image_alt_text

En dialogruta öppnas som frågar efter ett lösenord.

Ange lösenord för att avskydda kalkylbladet

todo:image_alt_text

Skydda några Cells

Det kan finnas vissa scenarier där du bara behöver låsa några få celler i kalkylbladet. Om du vill låsa vissa specifika celler i kalkylbladet måste du låsa upp alla andra celler i kalkylbladet. Alla celler i ett kalkylblad är redan initierade för låsning, du kan kontrollera detta genom att öppna valfri Excel-fil i MS Excel och klicka påFormat | Cells… att visaFormat Cells dialogrutan och klicka sedan på fliken Skydd och se en kryssruta märkt “Låst” är markerad som standard.

Följande är de två metoderna för att genomföra uppgiften.

Metod 1:

Följande punkter beskriver hur du låser några celler med MS Excel. Denna metod gäller för Microsoft Office Excel 97, 2000, 2002, 2003 och senare versioner.

  1. Markera hela kalkylbladet genom att klicka på knappen Välj alla (den grå rektangeln direkt ovanför radnumret för rad 1 och till vänster om kolumn bokstaven A).
  2. Klicka på Cells på Format-menyn, klicka på fliken Skydd och avmarkera sedan kryssrutan Låst.

Detta låser upp alla celler i kalkylbladet

  1. Markera bara de celler du vill låsa och upprepa steg 2, men den här gången markerar du kryssrutan Låst.
  2. Verktyg menyn, väljSkydd , klickSkydda ark , och klicka sedanOK.

Metod 2:

den här metoden använder vi Aspose.Cells API endast för att utföra uppgiften.

Följande exempel visar hur du skyddar några få celler i kalkylbladet. Den låser upp alla celler i kalkylbladet först och låser sedan 3 celler (A1, B1, C1) i det. Slutligen skyddar det kalkylbladet. En rad/kolumn har en stil API som dessutom innehåller en uppsättning låst metod. Du kan använda den här metoden för att låsa eller låsa upp raden/kolumnen.

Skydda en rad i arbetsbladet

Aspose.Cells låter dig enkelt låsa valfri rad i kalkylbladet. Här kan vi använda oss avappliceraStyle() metod avRad klass för att tillämpa stil på en viss rad i kalkylbladet. Denna metod tar två argument: aStil objekt ochStilFlagga struct som har alla medlemmar relaterade till tillämpad formatering.

Följande exempel visar hur man skyddar en rad i kalkylbladet. Den låser upp alla celler i kalkylbladet först och låser sedan den första raden i det. Slutligen skyddar det kalkylbladet. En rad/kolumn har stilen API som dessutom innehåller en setCellLocked-metod. Du kan låsa eller låsa upp raden/kolumnen med StyleFlag-strukturen.

Skydda en kolumn i arbetsbladet

Aspose.Cells låter dig enkelt låsa valfri kolumn i kalkylbladet. Här kan vi använda oss avappliceraStyle() metod avKolumn klass för att tillämpa stil på en viss kolumn i kalkylbladet. Denna metod tar två argument: aStil objekt ochStilFlagga struct som har alla medlemmar relaterade till tillämpad formatering.

Följande exempel visar hur man skyddar en kolumn i kalkylbladet. Det låser upp alla celler i kalkylbladet först och låser sedan den första kolumnen i det. Slutligen skyddar det kalkylbladet. En rad/kolumn har en stil API som dessutom innehåller en uppsättning låst metod. Du kan låsa eller låsa upp raden/kolumnen med StyleFlag-strukturen.

Ta bort skyddet av ett arbetsblad

Skydda arbetsblad ochAvancerade skyddsinställningar sedan Excel XP diskuterade olika metoder för att skydda arbetsblad. Vad händer om en utvecklare behöver ta bort skyddet från ett skyddat kalkylblad vid körning så att vissa ändringar kan göras i filen? Detta kan enkelt göras med Aspose.Cells.

Använder Microsoft Excel

Så här tar du bort skyddet från ett kalkylblad:

FrånVerktyg menyn, väljSkydd följd avAvskydda arket.

Välj Unprotect Sheet

todo:image_alt_text

Skyddet tas bort om inte kalkylbladet är lösenordsskyddat. I det här fallet uppmanas en dialogruta att ange lösenordet.

Ange lösenord för att avskydda kalkylbladet

todo:image_alt_text

Använder Aspose.Cells

Ett kalkylblad kan oskyddas genom att anropaArbetsblad klass'Avskydda metod. DeAvskydda metod kan användas på två sätt, som beskrivs nedan.

Avskydda ett enkelt skyddat arbetsblad

Ett enkelt skyddat kalkylblad är ett som inte är skyddat med ett lösenord. Sådana kalkylblad kan oskyddas genom att anropa unprotect-metoden utan att skicka en parameter.

Avskydda ett lösenordsskyddat kalkylblad

Ett lösenordsskyddat kalkylblad är ett som är skyddat med ett lösenord. Sådana kalkylblad kan oskyddas genom att anropa en överbelastad version av Unprotect-metoden som tar lösenordet som en parameter.

Avancerade skyddsinställningar sedan Excel XP

Skydda arbetsblad diskuterade att skydda ett kalkylblad i Microsoft Excel 97 och 2000. Men sedan utgivningen av Excel 2002 eller XP har Microsoft lagt till många avancerade skyddsinställningar. Dessa skyddsinställningar begränsar eller tillåter användare att:

  • Ta bort rader eller kolumner.
  • Redigera innehåll, objekt eller scenarier.
  • Formatera celler, rader eller kolumner.
  • Infoga rader, kolumner eller hyperlänkar.
  • Välj låsta eller olåsta celler.
  • Använd pivottabeller och mycket mer.

Aspose.Cells stöder alla avancerade skyddsinställningar som erbjuds av Excel XP och senare versioner.

Avancerade skyddsinställningar med Excel XP och senare versioner

Så här visar du skyddsinställningarna i Excel XP:

  1. FrånVerktyg menyn, väljSkydd följd avSkydda ark. En dialogruta visas.

Dialog för att visa skyddsalternativ i Excel XP

todo:image_alt_text

  1. Tillåt eller begränsa kalkylbladsfunktioner eller använd ett lösenord.

Avancerade skyddsinställningar med Aspose.Cells

Aspose.Cells stöder alla avancerade skyddsinställningar.

Aspose.Cells tillhandahåller en klass,Arbetsbok , som representerar en Microsoft Excel-fil. Klassen Workbook innehåller en WorksheetCollection-samling som ger åtkomst till varje kalkylblad i Excel-filen. Ett arbetsblad representeras avArbetsblad klass.

Klassen Worksheet tillhandahåller skyddsegenskapen som används för att tillämpa dessa avancerade skyddsinställningar. Skyddsegendomen är i själva verket ett föremål förSkydd klass som kapslar in flera booleska egenskaper för att inaktivera eller aktivera begränsningar.

Nedan finns ett litet exempel på applikation. Den öppnar en Excel-fil och använder de flesta av de avancerade skyddsinställningarna som stöds av Excel XP och senare versioner.

Cell Låsningsproblem

Om du vill hindra användare från att redigera celler måste cellerna låsas innan några skyddsinställningar tillämpas. Annars kan cellerna redigeras även om kalkylbladet är skyddat. I Microsoft Excel XP kan celler låsas genom följande dialogruta:

Dialog för att låsa celler i Excel XP

todo:image_alt_text

Det är möjligt att låsa celler med Aspose.Cells API också. Varje cell har en stil API som dessutom innehåller en setLocked-metod. Använd den för att låsa eller låsa upp celler.