DataValidation

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.

NONE0Nema ograničenja validacije.
WHOLE_NUMBER1Prihvata samo cele brojeve.
DECIMAL2Prihvata decimalne brojeve.
LIST3Prihvata vrednosti iz padajuće liste.
DATE4Prihvata samo vrednosti datuma.
TIME5Prihvata samo vrednosti vremena.
TEXT_LENGTH6Validira po dužini teksta.
CUSTOM7Validira 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.

BETWEEN0
NOT_BETWEEN1
EQUAL2
NOT_EQUAL3
GREATER_THAN4
LESS_THAN5
GREATER_THAN_OR_EQUAL6
LESS_THAN_OR_EQUAL7

DataValidationAlertStyle

DataValidationAlertStyle je IntEnum kontrolisanje kako Excel reaguje kada se unesu neispravni podaci.

STOP0Odbija unos i prikazuje dijalog greške (podrazumevano).
WARNING1Prikazuje upozorenje, ali dozvoljava unos.
INFORMATION2Prikazuje informativnu poruku, ali uvek dozvoljava unos.

DataValidationImeMode

DataValidationImeMode je IntEnum kontrolisanje IME (Input Method Editor) režima za unos istočnoazijskog teksta.

NO_CONTROL0
OFF1
ON2
DISABLED3
HIRAGANA4
FULL_KATAKANA5
HALF_KATAKANA6
FULL_ALPHA7
HALF_ALPHA8
FULL_HANGUL9
HALF_HANGUL10

DataValidation

Jedan DataValidation objekat opisuje jedno pravilo validacije i opseg ćelija (sqref) na koji se odnosi.

DataValidation(sqref=None)
sqref`strNone`

sqrefstrOpseg ćelija za ovo pravilo (npr., "B2:B100").
typeDataValidationTypeTip validacije (cijeli broj, decimalni, lista, datum, vrijeme, dužina teksta ili prilagođeno).
operatorDataValidationOperatorOperator poređenja primenjen na formula1 (i formula2 za BETWEEN/NOT_BETWEEN).
formula1strDonja granica, izvor liste (npr., '"Apple,Banana,Cherry"'), ili prilagođena formula.
formula2strGornja granica za BETWEEN i NOT_BETWEEN operatora.
alert_styleDataValidationAlertStyleKako Excel reaguje na neispravan unos (STOP, WARNING, ili INFORMATION).
show_error_messageboolTrue za prikazivanje dijaloga poruke o grešci pri neispravnom unosu.
error_titlestrNaslov dijaloga greške (maksimalno 32 karaktera).
error_messagestrSadržaj dijaloga greške (maksimalno 225 karaktera).
show_input_messageboolTrue za prikazivanje poruke upita kada je ćelija izabrana.
input_titlestrNaslov upita (maksimalno 32 karaktera).
input_messagestrSadržaj upita (maksimalno 255 karaktera).
allow_blankboolTrue za dozvoljavanje praznih (empty) ćelija bez pokretanja greške.
show_dropdownboolTrue za prikazivanje strelice padajućeg menija za validacije liste.
ime_modeDataValidationImeModeIME režim za unos istočnoazijskog teksta.

copy

validation.copy() -> DataValidation

Vrać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
) -> DataValidation

Kreira i registruje novo pravilo validacije u jednom pozivu. Vraća kreirano DataValidation objekat.

add_validation

ws.data_validations.add_validation(validation: DataValidation) -> DataValidation

Registruje unapred konfigurisani DataValidation objekat. Vraća isti objekat.

remove

ws.data_validations.remove(validation: DataValidation) -> bool

Uklanja 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) -> int

Uklanja 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 | None

Vraća pravilo validacije koje se primenjuje na zadatu referencu ćelije (npr., "B5"), ili None ako nijedno ne važi.

Svojstva i iteracija

countBroj pravila validacije na ovom radnom listu (samo za čitanje).
disable_promptsbool — 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")

Vidi i

 Српски