Avancerade skyddsinställningar sedan Excel XP

Introduktion

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 eller 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 kommer att visas.

För att se skyddsinställningarna som är tillgängliga i Excel 2016

  1. FrånFil menyn, väljSkydda arbetsbok följd avSkydda nuvarande ark.
  2. VäljSkydda ark iRecension meny.

Om du följer stegen som nämns ovan visas en dialogruta där du kan tillåta eller begränsa kalkylbladsfunktioner eller tillämpa ett lösenord på kalkylbladet.

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. DeArbetsbok klass innehåller enArbetsblad samling som ger åtkomst till varje kalkylblad i Excel-filen. Ett arbetsblad representeras avArbetsbladklass.

DeArbetsblad klass gerSkydd egenskap som används för att tillämpa dessa avancerade skyddsinställningar. DeSkydd egendom är i själva verket ett föremål förSkyddklass 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.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(dataDir + "book1.xls", FileMode.Open);
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook excel = new Workbook(fstream);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = excel.Worksheets[0];
// Restricting users to delete columns of the worksheet
worksheet.Protection.AllowDeletingColumn = false;
// Restricting users to delete row of the worksheet
worksheet.Protection.AllowDeletingRow = false;
// Restricting users to edit contents of the worksheet
worksheet.Protection.AllowEditingContent = false;
// Restricting users to edit objects of the worksheet
worksheet.Protection.AllowEditingObject = false;
// Restricting users to edit scenarios of the worksheet
worksheet.Protection.AllowEditingScenario = false;
// Restricting users to filter
worksheet.Protection.AllowFiltering = false;
// Allowing users to format cells of the worksheet
worksheet.Protection.AllowFormattingCell = true;
// Allowing users to format rows of the worksheet
worksheet.Protection.AllowFormattingRow = true;
// Allowing users to insert columns in the worksheet
worksheet.Protection.AllowFormattingColumn = true;
// Allowing users to insert hyperlinks in the worksheet
worksheet.Protection.AllowInsertingHyperlink = true;
// Allowing users to insert rows in the worksheet
worksheet.Protection.AllowInsertingRow = true;
// Allowing users to select locked cells of the worksheet
worksheet.Protection.AllowSelectingLockedCell = true;
// Allowing users to select unlocked cells of the worksheet
worksheet.Protection.AllowSelectingUnlockedCell = true;
// Allowing users to sort
worksheet.Protection.AllowSorting = true;
// Allowing users to use pivot tables in the worksheet
worksheet.Protection.AllowUsingPivotTable = true;
// Saving the modified Excel file
excel.Save(dataDir + "output.xls", SaveFormat.Excel97To2003);
// Closing the file stream to free all resources
fstream.Close();

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 kan fåStil formatering som innehåller en boolesk egenskap,Är låst . Ställ inÄr låst egendom tillSann ellerfalsk för att låsa eller låsa upp cellen.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Workbook workbook = new Workbook(dataDir + "Book1.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
worksheet.Cells["A1"].GetStyle().IsLocked = true;
// Finally, Protect the sheet now.
worksheet.Protect(ProtectionType.All);
workbook.Save(dataDir + "output.xlsx");