Защитить и снять защиту с рабочего листа

Защитить рабочие листы

Когда рабочий лист защищен, действия, которые может выполнять пользователь, ограничены. Например, они не могут вводить данные, вставлять или удалять строки или столбцы и т. д. Общие параметры защиты в Microsoft Excel:

  • Содержание
  • Объекты
  • Сценарии

Защищенные рабочие листы не скрывают и не защищают конфиденциальные данные, поэтому они отличаются от шифрования файлов. Как правило, защита рабочего листа подходит для презентационных целей. Это не позволяет конечному пользователю изменять данные, содержимое и форматирование на листе.

Добавление или удаление защиты

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

Класс Worksheet предоставляетЗащищать метод, который используется для применения защиты к рабочему листу. Метод Protect принимает следующие параметры:

  • Тип защиты — тип защиты, применяемый к рабочему листу. Тип защиты применяется с помощьюТип защиты перечисление.
  • Новый пароль, новый пароль, используемый для защиты рабочего листа.
  • Старый пароль, старый пароль, если рабочий лист уже защищен паролем. Если рабочий лист еще не защищен, просто передайте null.

Перечисление ProtectionType содержит следующие предопределенные типы защиты:

Типы защиты Описание
ВСЕ Пользователь не может ничего изменить на этом листе
СОДЕРЖАНИЕ Пользователь не может вводить данные в этот лист
ОБЪЕКТЫ Пользователь не может изменять объекты чертежа
СЦЕНАРИИ Пользователь не может изменять сохраненные сценарии
СТРУКТУРА Пользователь не может изменить сохраненную структуру
ОКНА Пользователь не может изменять сохраненные окна
НИКТО Нет защиты

В приведенном ниже примере показано, как защитить рабочий лист паролем.

После того, как приведенный выше код используется для защиты листа, проверьте защиту листа, открыв его. После того, как вы откроете файл и попытаетесь добавить некоторые данные на лист, появится следующее диалоговое окно:

Диалоговое окно с предупреждением о том, что пользователь не может изменить рабочий лист

дело:изображение_альтернативный_текст

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

Выбор пункта меню «Снять защиту с листа»

дело:изображение_альтернативный_текст

Откроется диалоговое окно с запросом пароля.

Ввод пароля для снятия защиты листа

дело:изображение_альтернативный_текст

Защита нескольких Cells

Могут быть определенные сценарии, в которых вам нужно заблокировать только несколько ячеек на листе. Если вы хотите заблокировать некоторые определенные ячейки на листе, вы должны разблокировать все остальные ячейки на листе. Все ячейки на рабочем листе уже инициализированы для блокировки, вы можете проверить это, открыв любой файл Excel в MS Excel и щелкнув значокФормат | Cells… показыватьФормат Cells диалоговое окно, а затем перейдите на вкладку «Защита» и увидите, что флажок «Заблокировано» установлен по умолчанию.

Ниже приведены два подхода к реализации задачи.

Метод 1:

Следующие пункты описывают, как заблокировать несколько ячеек с помощью MS Excel. Этот метод применяется к Microsoft Office Excel 97, 2000, 2002, 2003 и более поздним версиям.

  1. Выберите весь рабочий лист, нажав кнопку «Выбрать все» (серый прямоугольник прямо над номером строки для строки 1 и слева от буквы столбца A).
  2. Нажмите Cells в меню «Формат», перейдите на вкладку «Защита» и снимите флажок «Заблокировано».

Это разблокирует все ячейки на листе.

  1. Выберите только те ячейки, которые вы хотите заблокировать, и повторите шаг 2, но на этот раз установите флажок «Заблокировано».
  2. НаИнструменты меню, выберитеЗащита , нажмитеЗащитить лист , а затем щелкнитеХОРОШО.

Метод 2:

В этом методе мы используем Aspose.Cells API только для выполнения задачи.

В следующем примере показано, как защитить несколько ячеек на листе. Сначала он разблокирует все ячейки на листе, а затем заблокирует в нем 3 ячейки (A1, B1, C1). Наконец, он защищает рабочий лист. Строка/столбец имеет стиль API, который дополнительно содержит набор заблокированных методов. Вы можете использовать этот метод, чтобы заблокировать или разблокировать строку/столбец.

Защитить строку на листе

Aspose.Cells позволяет легко заблокировать любую строку на листе. Здесь мы можем использоватьприменить стиль () методСтрока класс, чтобы применить стиль к определенной строке на листе. Этот метод принимает два аргумента:Стиль объект иСтильФлаг struct, в которой есть все элементы, связанные с примененным форматированием.

В следующем примере показано, как защитить строку на листе. Он сначала разблокирует все ячейки на листе, а затем заблокирует первую строку в нем. Наконец, он защищает рабочий лист. Строка/столбец имеет стиль API, который дополнительно содержит метод setCellLocked. Вы можете заблокировать или разблокировать строку/столбец, используя структуру StyleFlag.

Защитить столбец на листе

Aspose.Cells позволяет легко заблокировать любой столбец на листе. Здесь мы можем использоватьприменить стиль () методСтолбец класс, чтобы применить стиль к определенному столбцу на листе. Этот метод принимает два аргумента:Стиль объект иСтильФлаг struct, в которой есть все элементы, связанные с примененным форматированием.

В следующем примере показано, как защитить столбец на листе. Сначала он разблокирует все ячейки на листе, а затем заблокирует первый столбец в нем. Наконец, он защищает рабочий лист. Строка/столбец имеет стиль API, который дополнительно содержит набор заблокированных методов. Вы можете заблокировать или разблокировать строку/столбец, используя структуру StyleFlag.

Снять защиту листа

Защита рабочих листов иДополнительные параметры защиты начиная с Excel XP обсудили различные подходы к защите рабочих листов. Что делать, если разработчику необходимо снять защиту с защищенного рабочего листа во время выполнения, чтобы можно было внести некоторые изменения в файл? Это легко сделать по номеру Aspose.Cells.

Использование Microsoft Excel

Чтобы снять защиту с листа:

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

Выбор «Снять защиту с листа»

дело:изображение_альтернативный_текст

Защита снимается, если рабочий лист не защищен паролем. В этом случае диалоговое окно запрашивает пароль.

Ввод пароля для снятия защиты листа

дело:изображение_альтернативный_текст

Использование Aspose.Cells

Рабочий лист можно снять с защиты, вызвав методРабочий лист учебный класс'Снять защиту метод.Снять защиту можно использовать двумя способами, описанными ниже.

Снятие защиты с простого защищенного листа

Просто защищенный лист — это лист, не защищенный паролем. Такие рабочие листы можно снять с защиты, вызвав метод unprotect без передачи параметра.

Снятие защиты с листа, защищенного паролем

Рабочий лист, защищенный паролем, — это лист, защищенный паролем. Такие рабочие листы можно снять с защиты, вызвав перегруженную версию метода Unprotect, который принимает пароль в качестве параметра.

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

Защита рабочих листов обсуждалась защита рабочего листа в Microsoft Excel 97 и 2000. Но после выпуска Excel 2002 или XP в Microsoft было добавлено множество расширенных настроек защиты. Эти параметры защиты ограничивают или разрешают пользователям:

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

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

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

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

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

Диалоговое окно для отображения параметров защиты в Excel XP

дело:изображение_альтернативный_текст

  1. Разрешить или ограничить функции рабочих листов или применить пароль.

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

Aspose.Cells поддерживают все расширенные настройки защиты.

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

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

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

Cell Проблема с блокировкой

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

Диалоговое окно для блокировки ячеек в Excel XP

дело:изображение_альтернативный_текст

Также можно заблокировать ячейки с помощью Aspose.Cells API. Каждая ячейка имеет стиль API, который также содержит метод setLocked. Используйте его для блокировки или разблокировки ячеек.