DataValidation

DataValidation — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss підтримує додавання правил перевірки даних до діапазонів клітинок. Правила перевірки керуються за допомогою ws.data_validations, a DataValidationCollection прикріплений до кожного Worksheet.

Enumerations: aspose.cells_foss

from aspose.cells_foss import (
    DataValidationType, DataValidationOperator,
    DataValidationAlertStyle, DataValidationImeMode,
    DataValidation, DataValidationCollection,
)

DataValidationType

DataValidationType є IntEnum що визначає тип обмеження, яке слід застосувати.

EnumerationsEnumerationsEnumerations
NONE0Без обмеження перевірки.
WHOLE_NUMBER1Приймає лише цілі числа.
DECIMAL2Приймає десяткові числа.
LIST3Приймає значення зі списку випадаючих варіантів.
DATE4Приймає лише значення дати.
TIME5Приймає лише значення часу.
TEXT_LENGTH6Перевіряє за довжиною тексту.
CUSTOM7Перевіряє за допомогою користувацької формули.

DataValidationOperator

DataValidationOperator є IntEnum вказуючи оператор порівняння, який використовується з числовими/датовими/часовими/довжинними обмеженнями.

EnumerationsEnumerations
BETWEEN0
NOT_BETWEEN1
EQUAL2
NOT_EQUAL3
GREATER_THAN4
LESS_THAN5
GREATER_THAN_OR_EQUAL6
LESS_THAN_OR_EQUAL7

DataValidationAlertStyle

DataValidationAlertStyle є IntEnum керування тим, як Excel реагує, коли вводяться недійсні дані.

EnumerationsEnumerationsEnumerations
STOP0Відхиляє введення та показує діалог помилки (за замовчуванням).
WARNING1Показує попередження, але дозволяє введення.
INFORMATION2Показує інформаційне повідомлення, але завжди дозволяє введення.

DataValidationImeMode

DataValidationImeMode є IntEnum керування режимом IME (Input Method Editor) для введення тексту східноазійськими мовами.

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

DataValidation

A DataValidation об’єкт описує одне правило перевірки та діапазон клітинок (sqref) це застосовується до.

Enumerations

DataValidation(sqref=None)
EnumerationsEnumerationsEnumerations
sqref`strNone`

Enumerations

EnumerationsEnumerationsEnumerations
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 для дозволу порожніх (empty) клітинок без виклику помилки.
show_dropdownboolTrue для відображення стрілки випадаючого списку для перевірок списку.
ime_modeDataValidationImeModeРежим IME для вводу східноазійського тексту.

Enumerations

копіювати

validation.copy() -> DataValidation

Повертає глибоку копію цього правила перевірки.


DataValidationCollection

DataValidationCollection доступний як ws.data_validations. Він керує всіма правилами перевірки на робочому листі.

Enumerations

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 якщо жодне не підходить.

Властивості та ітерація

EnumerationsEnumerations
countКількість правил перевірки на цьому аркуші (тільки для читання).
disable_promptsbool — Встановити в True щоб придушити всі підказки вводу повідомлень глобально.
__len__()Enumerations count.
__iter__()Перебирає всі DataValidation об’єкти.
__getitem__(index)Повертає DataValidation з нульовим індексом index.

Enumerations

Валідація випадаючого списку

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")

Див. також

 Українська