DataValidation
DataValidation — Aspose.Cells FOSS for Python API Reference
aspose-cells-foss 支持向单元格范围添加数据验证规则。验证规则通过 ws.data_validations,,一个 DataValidationCollection 附加到每个 Worksheet.
Properties: aspose.cells_foss
from aspose.cells_foss import (
DataValidationType, DataValidationOperator,
DataValidationAlertStyle, DataValidationImeMode,
DataValidation, DataValidationCollection,
)DataValidationType
DataValidationType 是一个 IntEnum 用于识别要应用的约束类型。.
| Properties | Properties | Properties |
|---|---|---|
NONE | 0 | 无验证约束。. |
WHOLE_NUMBER | 1 | 仅接受整数。. |
DECIMAL | 2 | 接受小数。. |
LIST | 3 | 接受下拉列表中的值。. |
DATE | 4 | 仅接受日期值。. |
TIME | 5 | 仅接受时间值。. |
TEXT_LENGTH | 6 | 按文本长度进行验证。. |
CUSTOM | 7 | 使用自定义公式进行验证。. |
DataValidationOperator
DataValidationOperator 是一个 IntEnum 指定用于数值/日期/时间/长度约束的比较运算符。.
| Properties | Properties |
|---|---|
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 是一个 IntEnum 控制 Excel 在输入无效数据时的响应方式。.
| Properties | Properties | Properties |
|---|---|---|
STOP | 0 | 拒绝该输入并显示错误对话框(默认)。. |
WARNING | 1 | 显示警告,但允许该输入。. |
INFORMATION | 2 | 显示信息性消息,但始终允许该输入。. |
DataValidationImeMode
DataValidationImeMode 是一个 IntEnum 用于控制东亚文字输入的 IME(输入法编辑器)模式。.
| Properties | Properties |
|---|---|
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
一个 DataValidation 对象描述单个验证规则以及适用的单元格范围(sqref)它适用的范围。.
Properties
DataValidation(sqref=None)| Properties | Properties | Properties |
|---|---|---|
sqref | `str | None` |
Properties
| Properties | Properties | Properties |
|---|---|---|
sqref | str | 此规则的单元格范围(例如,., "B2:B100"). |
type | DataValidationType | 验证类型(整数、小数、列表、日期、时间、文本长度或自定义)。. |
operator | DataValidationOperator | 比较运算符应用于 formula1 (以及 formula2 用于 BETWEEN/NOT_BETWEEN). |
formula1 | str | 下限、列表来源(例如,., '"Apple,Banana,Cherry"'),或自定义公式。. |
formula2 | str | 上限用于 BETWEEN 和 NOT_BETWEEN 运算符。. |
alert_style | DataValidationAlertStyle | Excel 对无效输入的响应 (STOP, WARNING,,或 INFORMATION). |
show_error_message | bool | True 在输入无效时显示错误消息对话框。. |
error_title | str | 错误对话框的标题(最多 32 个字符)。. |
error_message | str | 错误对话框的正文(最多 225 个字符)。. |
show_input_message | bool | True 在单元格被选中时显示输入提示消息。. |
input_title | str | 输入提示的标题(最多 32 个字符)。. |
input_message | str | 输入提示的正文(最多 255 个字符)。. |
allow_blank | bool | True 允许空白(空)单元格而不触发错误。. |
show_dropdown | bool | True 在列表验证时显示下拉箭头。. |
ime_mode | DataValidationImeMode | 东亚文字输入的 IME 模式。. |
Properties
copy
validation.copy() -> DataValidation返回此验证规则的深拷贝。.
DataValidationCollection
DataValidationCollection 可通过以下方式访问 ws.data_validations.。它管理工作表上的所有验证规则。.
Properties
add
ws.data_validations.add(
sqref,
validation_type=None,
operator=None,
formula1=None,
formula2=None
) -> DataValidation一次调用创建并注册新的验证规则。返回创建的 DataValidation 对象。.
add_validation
ws.data_validations.add_validation(validation: DataValidation) -> DataValidation注册预配置的 DataValidation 对象。返回相同的对象。.
remove
ws.data_validations.remove(validation: DataValidation) -> bool通过引用移除验证规则。返回 True 如果找到了该规则并已删除。.
remove_at
ws.data_validations.remove_at(index: int)删除给定零基索引处的验证规则。.
remove_by_range
ws.data_validations.remove_by_range(sqref: str) -> int删除所有验证,其 sqref 与给定范围重叠。返回已删除的规则数量。.
clear
ws.data_validations.clear()删除工作表中的所有验证规则。.
get_validation
ws.data_validations.get_validation(cell_ref: str) -> DataValidation | None返回适用于给定单元格引用的验证规则(例如,)., "B5"), 或 None 如果没有适用的。.
属性和迭代
| Properties | Properties |
|---|---|
count | 此工作表上的验证规则数量(只读)。. |
disable_prompts | bool — 设置为 True 以全局抑制所有输入消息提示。. |
__len__() | Properties count. |
__iter__() | 遍历所有 DataValidation 对象。. |
__getitem__(index) | 返回 DataValidation 在零基 index. |
Properties
下拉列表验证
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")数值范围验证
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")