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
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
En dialogruta öppnas som frågar efter ett lösenord.
Ange lösenord för att avskydda kalkylbladet
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.
- 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).
- Klicka på Cells på Format-menyn, klicka på fliken Skydd och avmarkera sedan kryssrutan Låst.
Detta låser upp alla celler i kalkylbladet
- Markera bara de celler du vill låsa och upprepa steg 2, men den här gången markerar du kryssrutan Låst.
- På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
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
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:
- FrånVerktyg menyn, väljSkydd följd avSkydda ark. En dialogruta visas.
Dialog för att visa skyddsalternativ i Excel XP
- 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
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.