DataValidation

DataValidation — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss obsługuje dodawanie reguł walidacji danych do zakresów komórek. Reguły walidacji są zarządzane przez ws.data_validations, a DataValidationCollection dołączany do każdego Worksheet.

Example: aspose.cells_foss

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

DataValidationType

DataValidationType jest IntEnum określający typ ograniczenia do zastosowania.

ExampleExampleExample
NONE0Brak ograniczenia walidacji.
WHOLE_NUMBER1Akceptuje tylko liczby całkowite.
DECIMAL2Akceptuje liczby dziesiętne.
LIST3Akceptuje wartości z listy rozwijanej.
DATE4Akceptuje tylko wartości daty.
TIME5Akceptuje tylko wartości czasu.
TEXT_LENGTH6Waliduje na podstawie długości tekstu.
CUSTOM7Waliduje przy użyciu własnej formuły.

DataValidationOperator

DataValidationOperator jest IntEnum określający operator porównania używany w ograniczeniach numerycznych, datowych, czasowych i długości.

ExampleExample
BETWEEN0
NOT_BETWEEN1
EQUAL2
NOT_EQUAL3
GREATER_THAN4
LESS_THAN5
GREATER_THAN_OR_EQUAL6
LESS_THAN_OR_EQUAL7

DataValidationAlertStyle

DataValidationAlertStyle jest IntEnum kontrolujący, jak Excel reaguje, gdy wprowadzane są nieprawidłowe dane.

ExampleExampleExample
STOP0Odrzuca wpis i wyświetla okno dialogowe błędu (domyślnie).
WARNING1Wyświetla ostrzeżenie, ale zezwala na wpis.
INFORMATION2Wyświetla komunikat informacyjny, ale zawsze zezwala na wpis.

DataValidationImeMode

DataValidationImeMode jest IntEnum kontrolujący tryb IME (Input Method Editor) dla wprowadzania tekstu w językach wschodnioazjatyckich.

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

DataValidation

A DataValidation obiekt opisuje pojedynczą regułę walidacji i zakres komórek (sqref) do którego ma zastosowanie.

Example

DataValidation(sqref=None)
ExampleExampleExample
sqref`strNone`

Example

ExampleExampleExample
sqrefstrZakres komórek dla tej reguły (np., "B2:B100").
typeDataValidationTypeTyp walidacji (liczba całkowita, liczba dziesiętna, lista, data, czas, długość tekstu lub niestandardowy).
operatorDataValidationOperatorOperator porównania zastosowany do formula1 (i formula2 dla BETWEEN/NOT_BETWEEN).
formula1strDolna granica, źródło listy (np., '"Apple,Banana,Cherry"'), lub własna formuła.
formula2strGórna granica dla BETWEEN i NOT_BETWEEN operatorów.
alert_styleDataValidationAlertStyleJak Excel reaguje na nieprawidłowe dane (STOP, WARNING, lub INFORMATION).
show_error_messageboolTrue aby wyświetlić okno dialogowe komunikatu o błędzie przy nieprawidłowych danych.
error_titlestrTytuł okna dialogowego błędu (maksymalnie 32 znaki).
error_messagestrTreść okna dialogowego błędu (maksymalnie 225 znaków).
show_input_messageboolTrue aby wyświetlić komunikat zachęty do wprowadzenia danych, gdy komórka jest zaznaczona.
input_titlestrTytuł monitu wejściowego (maksymalnie 32 znaki).
input_messagestrTreść monitu wejściowego (maksymalnie 255 znaków).
allow_blankboolTrue aby zezwolić na puste (puste) komórki bez wywoływania błędu.
show_dropdownboolTrue aby wyświetlić strzałkę rozwijaną dla walidacji listy.
ime_modeDataValidationImeModeTryb IME dla wprowadzania tekstu w językach wschodnioazjatyckich.

Example

copy

validation.copy() -> DataValidation

Zwraca głęboką kopię tej reguły walidacji.


DataValidationCollection

DataValidationCollection jest dostępny jako ws.data_validations. Zarządza wszystkimi regułami walidacji w arkuszu.

Example

add

ws.data_validations.add(
    sqref,
    validation_type=None,
    operator=None,
    formula1=None,
    formula2=None
) -> DataValidation

Tworzy i rejestruje nową regułę walidacji w jednym wywołaniu. Zwraca utworzoną DataValidation obiekt.

add_validation

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

Rejestruje wstępnie skonfigurowany DataValidation obiekt. Zwraca ten sam obiekt.

remove

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

Usuwa regułę walidacji według odwołania. Zwraca True jeśli reguła została znaleziona i usunięta.

remove_at

ws.data_validations.remove_at(index: int)

Usuwa regułę walidacji o podanym indeksie zerowym.

remove_by_range

ws.data_validations.remove_by_range(sqref: str) -> int

Usuwa wszystkie walidacje, których sqref nakłada się na podany zakres. Zwraca liczbę usuniętych reguł.

clear

ws.data_validations.clear()

Usuwa wszystkie reguły walidacji z arkusza.

get_validation

ws.data_validations.get_validation(cell_ref: str) -> DataValidation | None

Zwraca regułę walidacji, która ma zastosowanie do podanego odwołania komórki (np., "B5"), lub None jeśli żadna nie ma zastosowania.

Właściwości i iteracja

ExampleExample
countLiczba reguł walidacji w tym arkuszu (tylko do odczytu).
disable_promptsbool — Ustaw na True aby globalnie wyłączyć wszystkie monity wiadomości wejściowych.
__len__()Example count.
__iter__()Iteruje po wszystkich DataValidation obiekty.
__getitem__(index)Zwraca DataValidation w zerobazowym index.

Example

Walidacja listy rozwijanej

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

Walidacja zakresu numerycznego

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

Zobacz także

 Polski