DataValidation — Aspose.Cells FOSS for Python API Reference
aspose-cells-foss podržava dodavanje pravila za validaciju podataka u opsege ćelija. Pravila validacije se upravljaju putem ws.data_validations, a DataValidationCollection prikačen na svaku Worksheet.
: aspose.cells_foss
from aspose.cells_foss import (
DataValidationType, DataValidationOperator,
DataValidationAlertStyle, DataValidationImeMode,
DataValidation, DataValidationCollection,
)DataValidationType
DataValidationType je IntEnum koji identifikuje tip ograničenja koje treba primeniti.
NONE | 0 | Nema ograničenja validacije. |
WHOLE_NUMBER | 1 | Prihvata samo cele brojeve. |
DECIMAL | 2 | Prihvata decimalne brojeve. |
LIST | 3 | Prihvata vrednosti iz padajuće liste. |
DATE | 4 | Prihvata samo vrednosti datuma. |
TIME | 5 | Prihvata samo vrednosti vremena. |
TEXT_LENGTH | 6 | Validira po dužini teksta. |
CUSTOM | 7 | Validira korišćenjem prilagođene formule. |
DataValidationOperator
DataValidationOperator je IntEnum navodeći operator poređenja koji se koristi uz numerička/datum/vreme/dužina ograničenja.
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 je IntEnum kontrolisanje kako Excel reaguje kada se unesu neispravni podaci.
STOP | 0 | Odbija unos i prikazuje dijalog greške (podrazumevano). |
WARNING | 1 | Prikazuje upozorenje, ali dozvoljava unos. |
INFORMATION | 2 | Prikazuje informativnu poruku, ali uvek dozvoljava unos. |
DataValidationImeMode
DataValidationImeMode je IntEnum kontrolisanje IME (Input Method Editor) režima za unos istočnoazijskog teksta.
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
Jedan DataValidation objekat opisuje jedno pravilo validacije i opseg ćelija (sqref) na koji se odnosi.
DataValidation(sqref=None)sqref | `str | None` |
sqref | str | Opseg ćelija za ovo pravilo (npr., "B2:B100"). |
type | DataValidationType | Tip validacije (cijeli broj, decimalni, lista, datum, vrijeme, dužina teksta ili prilagođeno). |
operator | DataValidationOperator | Operator poređenja primenjen na formula1 (i formula2 za BETWEEN/NOT_BETWEEN). |
formula1 | str | Donja granica, izvor liste (npr., '"Apple,Banana,Cherry"'), ili prilagođena formula. |
formula2 | str | Gornja granica za BETWEEN i NOT_BETWEEN operatora. |
alert_style | DataValidationAlertStyle | Kako Excel reaguje na neispravan unos (STOP, WARNING, ili INFORMATION). |
show_error_message | bool | True za prikazivanje dijaloga poruke o grešci pri neispravnom unosu. |
error_title | str | Naslov dijaloga greške (maksimalno 32 karaktera). |
error_message | str | Sadržaj dijaloga greške (maksimalno 225 karaktera). |
show_input_message | bool | True za prikazivanje poruke upita kada je ćelija izabrana. |
input_title | str | Naslov upita (maksimalno 32 karaktera). |
input_message | str | Sadržaj upita (maksimalno 255 karaktera). |
allow_blank | bool | True za dozvoljavanje praznih (empty) ćelija bez pokretanja greške. |
show_dropdown | bool | True za prikazivanje strelice padajućeg menija za validacije liste. |
ime_mode | DataValidationImeMode | IME režim za unos istočnoazijskog teksta. |
copy
validation.copy() -> DataValidationVraća duboku kopiju ovog pravila za proveru.
DataValidationCollection
DataValidationCollection se pristupa kao ws.data_validations. Upravlja svim pravilima validacije na radnom listu.
add
ws.data_validations.add(
sqref,
validation_type=None,
operator=None,
formula1=None,
formula2=None
) -> DataValidationKreira i registruje novo pravilo validacije u jednom pozivu. Vraća kreirano DataValidation objekat.
add_validation
ws.data_validations.add_validation(validation: DataValidation) -> DataValidationRegistruje unapred konfigurisani DataValidation objekat. Vraća isti objekat.
remove
ws.data_validations.remove(validation: DataValidation) -> boolUklanja pravilo validacije po referenci. Vraća True ako je pravilo pronađeno i uklonjeno.
remove_at
ws.data_validations.remove_at(index: int)Uklanja pravilo validacije na datom indeksu koji počinje od nule.
remove_by_range
ws.data_validations.remove_by_range(sqref: str) -> intUklanja sva validacije čije sqref se preklapaju sa datim opsegom. Vraća broj uklonjenih pravila.
clear
ws.data_validations.clear()Uklanja sva pravila validacije iz radnog lista.
get_validation
ws.data_validations.get_validation(cell_ref: str) -> DataValidation | NoneVraća pravilo validacije koje se primenjuje na zadatu referencu ćelije (npr., "B5"), ili None ako nijedno ne važi.
Svojstva i iteracija
count | Broj pravila validacije na ovom radnom listu (samo za čitanje). |
disable_prompts | bool — Postavljeno na True da globalno potisne sve promptove za unos poruka. |
__len__() | count. |
__iter__() | Iterira kroz sve DataValidation objekte. |
__getitem__(index) | Vraća DataValidation na nultom indeksu index. |
Validacija padajuće liste
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")Validacija numeričkog opsega
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")