Дополнительные параметры защиты начиная с Excel XP

Вступление

Эти параметры защиты ограничивают или разрешают пользователям:

  • Удалить строки или столбцы.
  • Редактируйте содержимое, объекты или сценарии.
  • Отформатируйте ячейки, строки или столбцы.
  • Вставьте строки, столбцы или гиперссылки.
  • Выберите заблокированные или разблокированные ячейки.
  • Используйте сводные таблицы и многое другое.

Aspose.Cells поддерживает все параметры расширенной защиты, предлагаемые в Excel XP или более поздних версиях.

Параметры дополнительной защиты с использованием Excel XP и более поздних версий

Чтобы просмотреть параметры защиты, доступные в Excel XP:

  1. ОтИнструменты меню, выберитеЗащита с последующимЗащитить лист. Отобразится диалоговое окно.

Чтобы просмотреть параметры защиты, доступные в Excel 2016

  1. ОтФайл меню, выберитеЗащитить книгу с последующимЗащитить текущий лист.
  2. ВыберитеЗащитить лист вРассмотрение меню.

Выполнение шагов, упомянутых выше, отобразит диалоговое окно, в котором вы можете разрешить или ограничить функции рабочих листов или применить пароль к рабочему листу.

Параметры дополнительной защиты с использованием Aspose.Cells

Aspose.Cells поддерживает все дополнительные параметры защиты.

Aspose.Cells предоставляет класс,Рабочая тетрадь , представляющий файл Excel Microsoft.Рабочая тетрадь класс содержитРабочие листы коллекция, которая обеспечивает доступ к каждому рабочему листу в файле Excel. Рабочий лист представленРабочий листучебный класс.

Рабочий лист класс обеспечиваетЗащита свойство, которое используется для применения этих дополнительных параметров защиты.Защита Собственность фактически является объектомЗащитакласс, который инкапсулирует несколько логических свойств для отключения или включения ограничений.

Ниже приведен небольшой пример приложения. Он открывает файл Excel и использует большинство дополнительных параметров защиты, поддерживаемых Excel XP и более поздних версиях.

// 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 Проблема с блокировкой

Если вы хотите запретить пользователям редактировать ячейки, ячейки должны быть заблокированы, прежде чем будут применены какие-либо параметры защиты. В противном случае ячейки можно редактировать, даже если рабочий лист защищен. В Microsoft Excel XP ячейки можно заблокировать с помощью следующего диалогового окна:

Диалоговое окно для блокировки ячеек в Excel XP
дело:изображение_альтернативный_текст

Также можно заблокировать ячейки с помощью Aspose.Cells API. Каждая ячейка может получитьСтиль форматирование, содержащее логическое свойство,Заблокировано . УстановитьЗаблокировано собственность наистинный или жеЛОЖЬ чтобы заблокировать или разблокировать ячейку.

// 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");