DataValidation — Aspose.Cells FOSS for Python API Reference
aspose-cells-foss suporta a adição de regras de validação de dados a intervalos de células. As regras de validação são gerenciadas através de ws.data_validations, um DataValidationCollection anexado a cada Worksheet.
Example: aspose.cells_foss
from aspose.cells_foss import (
DataValidationType, DataValidationOperator,
DataValidationAlertStyle, DataValidationImeMode,
DataValidation, DataValidationCollection,
)DataValidationType
DataValidationType é um IntEnum identificando o tipo de restrição a ser aplicada.
| Example | Example | Example |
|---|---|---|
NONE | 0 | Sem restrição de validação. |
WHOLE_NUMBER | 1 | Aceita apenas números inteiros. |
DECIMAL | 2 | Aceita números decimais. |
LIST | 3 | Aceita valores de uma lista suspensa. |
DATE | 4 | Aceita apenas valores de data. |
TIME | 5 | Aceita apenas valores de hora. |
TEXT_LENGTH | 6 | Valida por comprimento de texto. |
CUSTOM | 7 | Valida usando uma fórmula personalizada. |
DataValidationOperator
DataValidationOperator é um IntEnum especificando o operador de comparação usado com restrições numéricas/data/hora/comprimento.
| Example | Example |
|---|---|
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 é um IntEnum controlando como o Excel reage quando dados inválidos são inseridos.
| Example | Example | Example |
|---|---|---|
STOP | 0 | Rejeita a entrada e exibe uma caixa de diálogo de erro (padrão). |
WARNING | 1 | Exibe um aviso, mas permite a entrada. |
INFORMATION | 2 | Exibe uma mensagem informativa, mas sempre permite a entrada. |
DataValidationImeMode
DataValidationImeMode é um IntEnum controlando o modo IME (Editor de Métodos de Entrada) para inserção de texto em línguas do Leste Asiático.
| Example | Example |
|---|---|
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 objeto descreve uma única regra de validação e o intervalo de células (sqref) a que se aplica.
Example
DataValidation(sqref=None)| Example | Example | Example |
|---|---|---|
sqref | `str | None` |
Example
| Example | Example | Example |
|---|---|---|
sqref | str | O intervalo de células para esta regra (por exemplo,., "B2:B100"). |
type | DataValidationType | Tipo de validação (número inteiro, decimal, lista, data, hora, comprimento de texto ou personalizado). |
operator | DataValidationOperator | Operador de comparação aplicado a formula1 (e formula2 para BETWEEN/NOT_BETWEEN). |
formula1 | str | Limite inferior, origem da lista (por exemplo,., '"Apple,Banana,Cherry"'). |
formula2 | str | Limite superior para BETWEEN e NOT_BETWEEN operadores. |
alert_style | DataValidationAlertStyle | Como o Excel responde a entrada inválida (STOP, WARNING, ou INFORMATION). |
show_error_message | bool | True para exibir a caixa de diálogo de mensagem de erro em entrada inválida. |
error_title | str | Título da caixa de diálogo de erro (máx. 32 caracteres). |
error_message | str | Corpo da caixa de diálogo de erro (máx. 225 caracteres). |
show_input_message | bool | True para exibir uma mensagem de prompt de entrada quando a célula for selecionada. |
input_title | str | Título do prompt de entrada (máx 32 caracteres). |
input_message | str | Corpo do prompt de entrada (máx 255 caracteres). |
allow_blank | bool | True para permitir células em branco (vazias) sem disparar o erro. |
show_dropdown | bool | True para exibir uma seta de lista suspensa nas validações de lista. |
ime_mode | DataValidationImeMode | Modo IME para entrada de texto em línguas do Leste Asiático. |
Example
copy
validation.copy() -> DataValidationRetorna uma cópia profunda desta regra de validação.
DataValidationCollection
DataValidationCollection é acessado como ws.data_validations. Ele gerencia todas as regras de validação em uma planilha.
Example
add
ws.data_validations.add(
sqref,
validation_type=None,
operator=None,
formula1=None,
formula2=None
) -> DataValidationCria e registra uma nova regra de validação em uma única chamada. Retorna a regra criada DataValidation objeto.
add_validation
ws.data_validations.add_validation(validation: DataValidation) -> DataValidationRegistra um pré-configurado DataValidation objeto. Retorna o mesmo objeto.
remove
ws.data_validations.remove(validation: DataValidation) -> boolRemove uma regra de validação por referência. Retorna True se a regra foi encontrada e removida.
remove_at
ws.data_validations.remove_at(index: int)Remove a regra de validação no índice baseado em zero fornecido.
remove_by_range
ws.data_validations.remove_by_range(sqref: str) -> intRemove todas as validações cujo sqref sobrepõe o intervalo fornecido. Retorna o número de regras removidas.
clear
ws.data_validations.clear()Remove todas as regras de validação da planilha.
get_validation
ws.data_validations.get_validation(cell_ref: str) -> DataValidation | NoneRetorna a regra de validação que se aplica à referência de célula fornecida (por exemplo,., "B5"), ou None se nenhuma se aplicar.
Propriedades e iteração
| Example | Example |
|---|---|
count | Número de regras de validação nesta planilha (somente leitura). |
disable_prompts | bool — Defina como True para suprimir todas as mensagens de entrada globalmente. |
__len__() | Example count. |
__iter__() | Itera sobre todos os DataValidation objetos. |
__getitem__(index) | Retorna o DataValidation em base zero index. |
Example
Validação de Lista Suspensa
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")Validação de Intervalo Numérico
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")