DataValidation — Aspose.Cells FOSS for Python API Reference
aspose-cells-foss поддерживает добавление правил проверки данных к диапазонам ячеек. Правила проверки управляются через ws.data_validations, a DataValidationCollection прикреплённый к каждому Worksheet.
ImageRenderOptions: aspose.cells_foss
from aspose.cells_foss import (
DataValidationType, DataValidationOperator,
DataValidationAlertStyle, DataValidationImeMode,
DataValidation, DataValidationCollection,
)DataValidationType
DataValidationType является IntEnum определяющий тип ограничения, которое следует применить.
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
NONE | 0 | Нет ограничения проверки. |
WHOLE_NUMBER | 1 | Принимает только целые числа. |
DECIMAL | 2 | Принимает десятичные числа. |
LIST | 3 | Принимает значения из выпадающего списка. |
DATE | 4 | Принимает только значения даты. |
TIME | 5 | Принимает только значения времени. |
TEXT_LENGTH | 6 | Проверяет по длине текста. |
CUSTOM | 7 | Проверяет с помощью пользовательской формулы. |
DataValidationOperator
DataValidationOperator является IntEnum указывающий оператор сравнения, используемый с ограничениями чисел, дат, времени и длины.
| ImageRenderOptions | ImageRenderOptions |
|---|---|
BETWEEN | 0 |
NOT_BETWEEN | 1 |
EQUAL | 2 |
NOT_EQUAL | 3 |
GREATER_THAN | 4 |
LESS_THAN | 5 |
GREATER_THAN_OR_EQUAL | 6 |
LESS_THAN_OR_EQUAL | 7 |
DataValidationAlertStyle
DataValidationAlertStyle является IntEnum контролирует, как Excel реагирует при вводе недопустимых данных.
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
STOP | 0 | Отклоняет ввод и отображает диалог ошибки (по умолчанию). |
WARNING | 1 | Показывает предупреждение, но позволяет ввод. |
INFORMATION | 2 | Показывает информационное сообщение, но всегда позволяет ввод. |
DataValidationImeMode
DataValidationImeMode является IntEnum контролирует режим IME (Input Method Editor) для ввода текста восточноазиатскими языками.
| ImageRenderOptions | ImageRenderOptions |
|---|---|
NO_CONTROL | 0 |
OFF | 1 |
ON | 2 |
DISABLED | 3 |
HIRAGANA | 4 |
FULL_KATAKANA | 5 |
HALF_KATAKANA | 6 |
FULL_ALPHA | 7 |
HALF_ALPHA | 8 |
FULL_HANGUL | 9 |
HALF_HANGUL | 10 |
DataValidation
A DataValidation объект описывает одно правило проверки и диапазон ячеек (sqref) к которому он применяется.
ImageRenderOptions
DataValidation(sqref=None)| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
sqref | `str | None` |
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
sqref | str | Диапазон ячеек для этого правила (например,., "B2:B100"). |
type | DataValidationType | Тип проверки (целое число, десятичное, список, дата, время, длина текста или пользовательский). |
operator | DataValidationOperator | Оператор сравнения, применяемый к formula1 (и formula2 для BETWEEN/NOT_BETWEEN). |
formula1 | str | Нижняя граница, источник списка (например,., '"Apple,Banana,Cherry"'). |
formula2 | str | Верхняя граница для BETWEEN и NOT_BETWEEN операторы. |
alert_style | DataValidationAlertStyle | Как Excel реагирует на недопустимый ввод (STOP, WARNING, или INFORMATION). |
show_error_message | bool | True для отображения диалогового окна сообщения об ошибке при недопустимом вводе. |
error_title | str | Заголовок диалогового окна ошибки (не более 32 символов). |
error_message | str | Текст диалогового окна ошибки (не более 225 символов). |
show_input_message | bool | True для отображения сообщения запроса ввода при выборе ячейки. |
input_title | str | Заголовок запроса ввода (не более 32 символов). |
input_message | str | Текст запроса ввода (не более 255 символов). |
allow_blank | bool | True для разрешения пустых (не заполненных) ячеек без вызова ошибки. |
show_dropdown | bool | True для отображения стрелки выпадающего списка при проверках списка. |
ime_mode | DataValidationImeMode | Режим IME для ввода текста восточноазиатскими языками. |
ImageRenderOptions
copy
validation.copy() -> DataValidationВозвращает глубокую копию этого правила проверки.
DataValidationCollection
DataValidationCollection доступен как ws.data_validations. Он управляет всеми правилами проверки на листе.
ImageRenderOptions
add
ws.data_validations.add(
sqref,
validation_type=None,
operator=None,
formula1=None,
formula2=None
) -> DataValidationСоздаёт и регистрирует новое правило проверки за один вызов. Возвращает созданный DataValidation объект.
add_validation
ws.data_validations.add_validation(validation: DataValidation) -> DataValidationРегистрирует предварительно настроенный DataValidation объект. Возвращает тот же объект.
remove
ws.data_validations.remove(validation: DataValidation) -> boolУдаляет правило проверки по ссылке. Возвращает True если правило было найдено и удалено.
remove_at
ws.data_validations.remove_at(index: int)Удаляет правило проверки по заданному нулевому индексу.
remove_by_range
ws.data_validations.remove_by_range(sqref: str) -> intУдаляет все проверки, у которых sqref пересекает заданный диапазон. Возвращает количество удалённых правил.
clear
ws.data_validations.clear()Удаляет все правила проверки с листа.
get_validation
ws.data_validations.get_validation(cell_ref: str) -> DataValidation | NoneВозвращает правило проверки, применимое к указанной ссылке на ячейку (например,., "B5"), или None если ни одно не применимо.
Свойства и итерация
| ImageRenderOptions | ImageRenderOptions |
|---|---|
count | Количество правил проверки на этом листе (только для чтения). |
disable_prompts | bool — Установлено в True чтобы глобально подавлять все подсказки ввода сообщений. |
__len__() | ImageRenderOptions count. |
__iter__() | Итерирует по всем DataValidation объекты. |
__getitem__(index) | Возвращает DataValidation с нулевой индексацией index. |
ImageRenderOptions
Валидация выпадающего списка
from aspose.cells_foss import Workbook, DataValidationType, DataValidationAlertStyle
wb = Workbook()
ws = wb.worksheets[0]
# Write a label
ws.cells["A1"].put_value("Status")
# Add a dropdown list to A2:A20
dv = ws.data_validations.add(
sqref="A2:A20",
validation_type=DataValidationType.LIST,
formula1='"Open,In Progress,Closed,Cancelled"',
)
dv.show_dropdown = True
dv.allow_blank = True
dv.alert_style = DataValidationAlertStyle.STOP
dv.show_error_message = True
dv.error_title = "Invalid Status"
dv.error_message = "Please select a value from the list."
dv.show_input_message = True
dv.input_title = "Status"
dv.input_message = "Choose a status from the dropdown."
wb.save("dropdown_validation.xlsx")Валидация числового диапазона
from aspose.cells_foss import (
Workbook, DataValidationType, DataValidationOperator,
DataValidationAlertStyle,
)
wb = Workbook()
ws = wb.worksheets[0]
ws.cells["B1"].put_value("Score (0–100)")
# Whole number between 0 and 100
dv = ws.data_validations.add(
sqref="B2:B50",
validation_type=DataValidationType.WHOLE_NUMBER,
operator=DataValidationOperator.BETWEEN,
formula1="0",
formula2="100",
)
dv.allow_blank = False
dv.alert_style = DataValidationAlertStyle.WARNING
dv.show_error_message = True
dv.error_title = "Out of Range"
dv.error_message = "Score must be between 0 and 100."
wb.save("range_validation.xlsx")