Валидация данных

Типы проверки данных и выполнение

Microsoft Excel поддерживает ряд различных типов проверки данных. Каждый тип используется для контроля того, какой тип данных вводится в ячейку или диапазон ячеек. Ниже фрагменты кода иллюстрируют, как это проверить:

Проверка данных с помощью Microsoft Excel

Чтобы создать проверки с помощью Microsoft Excel:

  1. На листе выберите ячейки, к которым вы хотите применить проверку.

  2. ОтДанныеменю, выберитеПроверка. Отображается диалоговое окно проверки.

  3. Нажмите наНастройкивкладку и введите настройки, как показано ниже.

    Настройки проверки данных

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

Проверка данных с Aspose.Cells

Проверка данных — мощная функция для проверки информации, введенной в рабочие листы. Благодаря проверке данных разработчики могут предоставить пользователям список вариантов, ограничить ввод данных определенным типом или размером и т. д. В Aspose.Cells каждыйРабочий листкласс имеетВалидацииобъект, который представляет собой наборПроверкаобъекты. Чтобы настроить проверку, установите некоторыеПроверкасвойства класса:

  • Тип: представляет тип проверки, который может быть указан с использованием одного из предопределенных значений вТип Валидацииперечисление.
  • Оператор: представляет оператор, который будет использоваться при проверке, который можно указать, используя одно из предопределенных значений вТип оператораперечисление.
  • Формула 1: представляет значение или выражение, связанное с первой частью проверки данных.
  • Формула2: представляет значение или выражение, связанное со второй частью проверки данных.

КогдаПроверкасвойства объекта настроены, разработчики могут использоватьCellAreaструктура для хранения информации о диапазоне ячеек, который будет проверяться с помощью созданной проверки.

Типы проверки данных

Проверка данных позволяет встраивать бизнес-правила в каждую ячейку, чтобы неправильные записи приводили к сообщениям об ошибках. Бизнес-правила — это политики и процедуры, которые регулируют работу бизнеса. Aspose.Cells поддерживает все важные типы проверки данных.

Тип Валидацииперечисление имеет следующие члены:

Имя участника Описание
ЛЮБОЕ_ЗНАЧЕНИЕ Обозначает значение любого типа.
ЦЕЛОЕ ЧИСЛО Обозначает тип проверки для целых чисел.
ДЕСЯТИЧНЫЙ Обозначает тип проверки для десятичных чисел.
СПИСОК Обозначает тип проверки для раскрывающегося списка.
ДАТИРОВАТЬ Обозначает тип проверки для дат.
ВРЕМЯ Обозначает тип проверки для времени.
TEXT_LENGTH Обозначает тип проверки длины текста.
ОБЫЧАЙ Обозначает настраиваемый тип проверки.

Пример программирования: проверка данных целого числа

При этом типе проверки пользователи могут вводить в проверенные ячейки только целые числа из указанного диапазона. В приведенных ниже примерах кода показано, как реализоватьЦЕЛОЕ ЧИСЛОтип проверки. В примере создается та же проверка данных с использованием Aspose.Cells, которую мы создали с помощью Microsoft Excel выше.

Пример программирования: проверка десятичных данных

При этом типе проверки пользователь может вводить десятичные числа в проверенные ячейки. В этом примере пользователь может вводить только десятичные значения, а область проверки — A1:A10.

Пример программирования: проверка данных списка

Этот тип проверки позволяет пользователю вводить значения из раскрывающегося списка. Он предоставляет список: ряд строк, содержащих данные. Пользователи могут выбирать значения только из списка. Областью проверки является диапазон ячеек A1:A5 на первом листе.

Здесь важно, чтобы вы установилиValidation.setInCellDropDown собственность наистинный.

Пример программирования: проверка данных даты

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

Примеры программирования: проверка данных времени

При этом типе проверки пользователи могут вводить время в пределах указанного диапазона или в соответствии с некоторыми критериями в проверенные ячейки. В примере пользователю разрешено вводить время с 09:00 до 11:30. Здесь областью проверки является ячейка B1.

Примеры программирования: проверка данных о длине текста

При этом типе проверки пользователи могут вводить текстовые значения заданной длины в проверенные ячейки. В примере пользователю разрешено вводить строковые значения, содержащие не более 5 символов. Область проверки — ячейка B1.

Правила проверки данных

Когда реализованы проверки данных, проверку можно проверить, назначив разные значения в ячейках.Cell.GetValidationValue() можно использовать для получения результата проверки. В следующем примере эта функция демонстрируется с разными значениями. Образец файла можно загрузить по следующей ссылке для тестирования:

SampleDataValidationRules.xlsx

Образец кода

Проверьте, является ли проверка в ячейке раскрывающимся списком

Как мы видели, существует множество типов проверок, которые можно реализовать в ячейке. Если вы хотите проверить, является ли проверка раскрывающимся списком или нет,Validation.InCellDropDown свойство можно использовать для проверки этого. Следующий пример кода демонстрирует использование этого свойства. Образец файла для тестирования можно скачать по следующей ссылке:

SampleDataValidationRules.xlsx

Добавить CellArea к существующей проверке

Могут быть случаи, когда вы можете захотеть добавитьCellAreaк существующимПроверка. Когда вы добавляетеCellAreaс использованиемValidation.AddArea(CellAreacellArea), Aspose.Cells проверяет все существующие области, чтобы убедиться, что новая область уже существует. Если файл имеет большое количество проверок, это снижает производительность. Чтобы преодолеть это, API предоставляетValidation.AddAreaCellArea (cellArea, bool checkIntersection, bool checkEdge) метод.проверитьПерекрестокПараметр указывает, следует ли проверять пересечение данной области с существующими областями проверки. Установка его наЛОЖЬотключит проверку других областей.checkEdgeПараметр указывает, следует ли проверять обрабатываемые области. Если новая область становится верхней левой областью, внутренние настройки перестраиваются. Если вы уверены, что новая область не является верхней левой областью, вы можете установить этот параметр какЛОЖЬ.

Следующий фрагмент кода демонстрирует использованиеValidation.AddAreaCellArea (cellArea, bool checkIntersection, bool checkEdge) метод добавления новогоCellAreaк существующимПроверка.

Исходный и выходной файлы Excel прилагаются для ознакомления.

Исходный файл

Выходной файл

Предварительные темы