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 определяющий тип ограничения, которое следует применить.

ImageRenderOptionsImageRenderOptionsImageRenderOptions
NONE0Нет ограничения проверки.
WHOLE_NUMBER1Принимает только целые числа.
DECIMAL2Принимает десятичные числа.
LIST3Принимает значения из выпадающего списка.
DATE4Принимает только значения даты.
TIME5Принимает только значения времени.
TEXT_LENGTH6Проверяет по длине текста.
CUSTOM7Проверяет с помощью пользовательской формулы.

DataValidationOperator

DataValidationOperator является IntEnum указывающий оператор сравнения, используемый с ограничениями чисел, дат, времени и длины.

ImageRenderOptionsImageRenderOptions
BETWEEN0
NOT_BETWEEN1
EQUAL2
NOT_EQUAL3
GREATER_THAN4
LESS_THAN5
GREATER_THAN_OR_EQUAL6
LESS_THAN_OR_EQUAL7

DataValidationAlertStyle

DataValidationAlertStyle является IntEnum контролирует, как Excel реагирует при вводе недопустимых данных.

ImageRenderOptionsImageRenderOptionsImageRenderOptions
STOP0Отклоняет ввод и отображает диалог ошибки (по умолчанию).
WARNING1Показывает предупреждение, но позволяет ввод.
INFORMATION2Показывает информационное сообщение, но всегда позволяет ввод.

DataValidationImeMode

DataValidationImeMode является IntEnum контролирует режим IME (Input Method Editor) для ввода текста восточноазиатскими языками.

ImageRenderOptionsImageRenderOptions
NO_CONTROL0
OFF1
ON2
DISABLED3
HIRAGANA4
FULL_KATAKANA5
HALF_KATAKANA6
FULL_ALPHA7
HALF_ALPHA8
FULL_HANGUL9
HALF_HANGUL10

DataValidation

A DataValidation объект описывает одно правило проверки и диапазон ячеек (sqref) к которому он применяется.

ImageRenderOptions

DataValidation(sqref=None)
ImageRenderOptionsImageRenderOptionsImageRenderOptions
sqref`strNone`

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
sqrefstrДиапазон ячеек для этого правила (например,., "B2:B100").
typeDataValidationTypeТип проверки (целое число, десятичное, список, дата, время, длина текста или пользовательский).
operatorDataValidationOperatorОператор сравнения, применяемый к formula1formula2 для BETWEEN/NOT_BETWEEN).
formula1strНижняя граница, источник списка (например,., '"Apple,Banana,Cherry"').
formula2strВерхняя граница для BETWEEN и NOT_BETWEEN операторы.
alert_styleDataValidationAlertStyleКак Excel реагирует на недопустимый ввод (STOP, WARNING, или INFORMATION).
show_error_messageboolTrue для отображения диалогового окна сообщения об ошибке при недопустимом вводе.
error_titlestrЗаголовок диалогового окна ошибки (не более 32 символов).
error_messagestrТекст диалогового окна ошибки (не более 225 символов).
show_input_messageboolTrue для отображения сообщения запроса ввода при выборе ячейки.
input_titlestrЗаголовок запроса ввода (не более 32 символов).
input_messagestrТекст запроса ввода (не более 255 символов).
allow_blankboolTrue для разрешения пустых (не заполненных) ячеек без вызова ошибки.
show_dropdownboolTrue для отображения стрелки выпадающего списка при проверках списка.
ime_modeDataValidationImeModeРежим 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 если ни одно не применимо.

Свойства и итерация

ImageRenderOptionsImageRenderOptions
countКоличество правил проверки на этом листе (только для чтения).
disable_promptsbool — Установлено в 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")

См. также

 Русский