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

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

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

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

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

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

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

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

Проверка данных с помощью Aspose.Cells

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

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

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

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

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

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

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

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

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

Здесь важно установитьВалидация.InCellDropDownсвойство в true*.

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

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

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

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

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

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

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

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

образецDataValidationRules.xlsx

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

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

образецValidation.xlsx

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

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

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

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

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

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

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