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

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

Проверка данных — это возможность устанавливать правила, относящиеся к данным, введенным на листе. Например, используйте проверку, чтобы убедиться, что столбец с надписью ДАТА содержит только даты или что другой столбец содержит только числа. Вы даже можете убедиться, что столбец с надписью DATE содержит только даты в определенном диапазоне. С проверкой данных вы можете контролировать, что вводится в ячейки на листе.

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

  • Numbers целые, то есть не имеют десятичной части.
  • Десятичные числа следуют правильной структуре. В примере кода определяется, что диапазон ячеек должен содержать два десятичных пробела.
  • Значения ограничены списком значений. Проверка списка определяет отдельный список значений, которые можно применить к ячейке или диапазону ячеек.
  • Даты попадают в определенный диапазон.
  • Время находится в определенном диапазоне.
  • Текст находится в пределах заданной длины символа.

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

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

  1. На листе выберите ячейки, к которым вы хотите применить проверку.
  2. ОтДанные меню, выберитеПроверка. Отобразится диалоговое окно проверки.
  3. Нажмите наНастройки вкладку и введите настройки.

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

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

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

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

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

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

Имя участника Описание
любое значение Обозначает значение любого типа.
Целое число Обозначает тип проверки для целых чисел.
Десятичный Обозначает тип проверки для десятичных чисел.
Список Обозначает тип проверки для раскрывающегося списка.
Датировать Обозначает тип проверки для дат.
Время Обозначает тип проверки для времени.
Длина текста Обозначает тип проверки длины текста.
Обычай Обозначает настраиваемый тип проверки.
Проверка данных целого числа

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

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

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

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

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

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

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

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

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

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

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

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

SampleDataValidationRules.xlsx

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

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

образецВалидатион.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 прилагаются для ознакомления.

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

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

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