Валидация данных
Microsoft Excel предоставляет некоторые хорошие функции для автоматической фильтрации или валидации данных листа.
Валидация данных – это возможность установить правила ввода данных на листе. Например, используйте валидацию, чтобы гарантировать, что столбец с меткой DATE содержит только даты, или что другой столбец содержит только числа. Вы можете даже убедиться, что столбец с меткой DATE содержит только даты в определенном диапазоне. С помощью валидации данных вы можете контролировать, что вводится в ячейки на листе. Aspose.Cells полностью поддерживает функции валидации данных и автофильтрации Microsoft Excel. В этой статье объясняется, как использовать функции в Microsoft Excel и как их программир…</cel…
Типы проверки данных и выполнение
Microsoft Excel поддерживает ряд различных типов проверки данных. Каждый тип используется для контроля типа данных, вводимого в ячейку или диапазон ячеек. Ниже приведены фрагменты кода, иллюстрирующие проверку, что:
- Числа являются целыми, то есть они не имеют десятичной части.
- Десятичные числа соответствуют правильной структуре. В приведенном примере кода определено, что диапазон ячеек должен иметь два десятичных знака.
- Значения ограничены списком значений. Проверка списка определяет отдельный список значений, которые можно применить к ячейке или диапазону ячеек.
- Даты находятся в определенном диапазоне
- Время находится в определенном диапазоне
- Текст находится в заданной длине символов
Проверка данных в Microsoft Excel
Для создания проверок с помощью Microsoft Excel:
-
В листе выберите ячейки, к которым вы хотите применить проверку.
-
В меню Данные выберите Проверка. Отображается диалоговое окно проверки.
-
Нажмите вкладку Настройка и введите настройки, как показано ниже.
Настройки проверки данных
Проверка данных в Aspose.Cells
Проверка данных - мощная функция для проверки введенной информации в таблицы. С помощью проверки данных разработчики могут предоставлять пользователям список выбора, ограничивать ввод данных определенного типа или размера и т. д. В Aspose.Cells каждый класс Лист имеет объект Проверки, который представляет собой коллекцию объектов Проверка. Чтобы настроить проверку, установите некоторые свойства класса Проверка:
- Тип: представляет тип проверки, который может быть указан с использованием одного из предопределенных значений в перечислении ТипПроверки.
- Оператор: представляет оператор, который будет использоваться при проверке, который может быть указан с использованием одного из предопределенных значений в перечислении ТипОператора.
- Формула1: представляет значение или выражение, связанное с первой частью проверки данных.
- Формула2: представляет значение или выражение, связанное со второй частью проверки данных.
Когда свойства объекта Проверка настроены, разработчики могут использовать структуру ДиапазонЯчеек для хранения информации о диапазоне ячеек, которые будут проверяться с использованием созданной проверки.
Типы проверки данных
Проверка данных позволяет встраивать в каждую ячейку деловые правила, чтобы неправильные записи приводили к сообщениям об ошибках. Деловые правила - это политики и процедуры, которые регулируют деятельность компании. Aspose.Cells поддерживает все важные типы проверки данных.
Перечисление ТипПроверки имеет следующие элементы:
Название элемента | Описание |
---|---|
ANY_VALUE | Обозначает значение любого типа. |
WHOLE_NUMBER | Обозначает тип проверки целых чисел. |
DECIMAL | Обозначение типа проверки для десятичных чисел. |
LIST | Обозначение типа проверки для выпадающего списка. |
DATE | Обозначение типа проверки для дат. |
TIME | Обозначение типа проверки для времени. |
TEXT_LENGTH | Обозначает тип проверки длины текста. |
CUSTOM | Обозначение типа проверки. |
Пример программирования: Проверка данных целого числа
С этим типом проверки пользователи могут вводить только целые числа в определенном диапазоне в проверяемые ячейки. Следующие примеры показывают, как реализовать тип проверки WHOLE_NUMBER. В примере создается такая же проверка данных с помощью Aspose.Cells, как и в Microsoft Excel.
Пример программирования: Проверка данных десятичного числа
С этим типом проверки пользователь может вводить десятичные числа в проверяемые ячейки. В примере пользователю запрещается вводить только десятичные значения, и область проверки – A1:A10.
Пример программирования: Проверка данных из списка
Этот тип проверки позволяет пользователю вводить значения из выпадающего списка. Предоставляется список: серия строк, содержащих данные. Пользователи могут выбирать значения только из списка. Область проверки – это диапазон ячеек A1:A5 на первом листе.
Здесь важно установить свойство Validation.setInCellDropDown в true.
Пример программирования: Проверка данных даты
С этим типом проверки пользователи вводят значения дат в указанном диапазоне или отвечающие определенным критериям в проверяемые ячейки. В примере пользователь ограничен вводом дат с 1970 по 1999 год. Здесь область проверки – ячейка B1.
Пример программирования: Проверка данных времени
С этим типом проверки пользователи могут вводить время в указанном диапазоне, или соответствующее некоторым критериям, в проверяемые ячейки. В примере пользователь ограничен вводом времени с 09:00 по 11:30 утра. Здесь область проверки – ячейка B1.
Пример программирования: Проверка данных длины текста
С помощью этого типа проверки пользователи могут вводить текстовые значения заданной длины в проверяемые ячейки. В примере пользователь ограничен вводом строковых значений не более 5 символов. Область проверки - это ячейка B1.
Правила проверки данных
Когда реализуются проверки данных, то проверка может быть выполнена путем назначения различных значений в ячейки. Cell.GetValidationValue() можно использовать для получения результата проверки. Следующий пример демонстрирует эту функцию с разными значениями. Файл для тестирования можно скачать по следующей ссылке:
SampleDataValidationRules.xlsx
Пример кода
Проверьте, является ли проверка в ячейке выпадающим списком
Как мы видели, существует множество типов проверок, которые могут быть реализованы внутри ячейки. Если вы хотите проверить, является ли проверка выпадающим списком или нет, можно использовать свойство Validation.InCellDropDown, чтобы проверить это. В следующем примере демонстрируется использование этого свойства. Образец файла для тестирования можно загрузить по следующей ссылке:
sampleDataValidationRules.xlsx
Добавить CellArea к существующей Validation
Могут быть случаи, когда вы захотите добавить CellArea к существующей Validation. При добавлении CellArea через Validation.AddArea(CellArea cellArea), Aspose.Cells проверяет все существующие области, чтобы убедиться, что новая область уже не существует. Если в файле много проверок, это сказывается на производительности. Чтобы решить проблему, API предоставляет метод Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge). Параметр checkIntersection указывает, следует ли проверять пересечение заданной области с существующими областями проверки. Установка его в false отключает проверку других областей. Параметр checkEdge указывает, следует ли проверять применяемые области. Если новая область соответствует верхнему левому углу, внутренние настройки пересобираются. Если вы уверены, что новая область не является верхним левым углом, этот параметр можно установить в false.
Следующий пример демонстрирует использование метода Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge) для добавления новой CellArea в существующую Validation.
Исходный и выходной файлы Excel прикреплены для справки.