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.
| Example | Example | Example |
|---|---|---|
NONE | 0 | Brak ograniczenia walidacji. |
WHOLE_NUMBER | 1 | Akceptuje tylko liczby całkowite. |
DECIMAL | 2 | Akceptuje liczby dziesiętne. |
LIST | 3 | Akceptuje wartości z listy rozwijanej. |
DATE | 4 | Akceptuje tylko wartości daty. |
TIME | 5 | Akceptuje tylko wartości czasu. |
TEXT_LENGTH | 6 | Waliduje na podstawie długości tekstu. |
CUSTOM | 7 | Waliduje 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.
| 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 jest IntEnum kontrolujący, jak Excel reaguje, gdy wprowadzane są nieprawidłowe dane.
| Example | Example | Example |
|---|---|---|
STOP | 0 | Odrzuca wpis i wyświetla okno dialogowe błędu (domyślnie). |
WARNING | 1 | Wyświetla ostrzeżenie, ale zezwala na wpis. |
INFORMATION | 2 | Wyś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.
| 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 obiekt opisuje pojedynczą regułę walidacji i zakres komórek (sqref) do którego ma zastosowanie.
Example
DataValidation(sqref=None)| Example | Example | Example |
|---|---|---|
sqref | `str | None` |
Example
| Example | Example | Example |
|---|---|---|
sqref | str | Zakres komórek dla tej reguły (np., "B2:B100"). |
type | DataValidationType | Typ walidacji (liczba całkowita, liczba dziesiętna, lista, data, czas, długość tekstu lub niestandardowy). |
operator | DataValidationOperator | Operator porównania zastosowany do formula1 (i formula2 dla BETWEEN/NOT_BETWEEN). |
formula1 | str | Dolna granica, źródło listy (np., '"Apple,Banana,Cherry"'), lub własna formuła. |
formula2 | str | Górna granica dla BETWEEN i NOT_BETWEEN operatorów. |
alert_style | DataValidationAlertStyle | Jak Excel reaguje na nieprawidłowe dane (STOP, WARNING, lub INFORMATION). |
show_error_message | bool | True aby wyświetlić okno dialogowe komunikatu o błędzie przy nieprawidłowych danych. |
error_title | str | Tytuł okna dialogowego błędu (maksymalnie 32 znaki). |
error_message | str | Treść okna dialogowego błędu (maksymalnie 225 znaków). |
show_input_message | bool | True aby wyświetlić komunikat zachęty do wprowadzenia danych, gdy komórka jest zaznaczona. |
input_title | str | Tytuł monitu wejściowego (maksymalnie 32 znaki). |
input_message | str | Treść monitu wejściowego (maksymalnie 255 znaków). |
allow_blank | bool | True aby zezwolić na puste (puste) komórki bez wywoływania błędu. |
show_dropdown | bool | True aby wyświetlić strzałkę rozwijaną dla walidacji listy. |
ime_mode | DataValidationImeMode | Tryb IME dla wprowadzania tekstu w językach wschodnioazjatyckich. |
Example
copy
validation.copy() -> DataValidationZwraca 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
) -> DataValidationTworzy i rejestruje nową regułę walidacji w jednym wywołaniu. Zwraca utworzoną DataValidation obiekt.
add_validation
ws.data_validations.add_validation(validation: DataValidation) -> DataValidationRejestruje wstępnie skonfigurowany DataValidation obiekt. Zwraca ten sam obiekt.
remove
ws.data_validations.remove(validation: DataValidation) -> boolUsuwa 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) -> intUsuwa 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 | NoneZwraca 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
| Example | Example |
|---|---|
count | Liczba reguł walidacji w tym arkuszu (tylko do odczytu). |
disable_prompts | bool — 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")