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 用于识别要应用的约束类型。.

PropertiesPropertiesProperties
NONE0无验证约束。.
WHOLE_NUMBER1仅接受整数。.
DECIMAL2接受小数。.
LIST3接受下拉列表中的值。.
DATE4仅接受日期值。.
TIME5仅接受时间值。.
TEXT_LENGTH6按文本长度进行验证。.
CUSTOM7使用自定义公式进行验证。.

DataValidationOperator

DataValidationOperator 是一个 IntEnum 指定用于数值/日期/时间/长度约束的比较运算符。.

PropertiesProperties
BETWEEN0
NOT_BETWEEN1
EQUAL2
NOT_EQUAL3
GREATER_THAN4
LESS_THAN5
GREATER_THAN_OR_EQUAL6
LESS_THAN_OR_EQUAL7

DataValidationAlertStyle

DataValidationAlertStyle 是一个 IntEnum 控制 Excel 在输入无效数据时的响应方式。.

PropertiesPropertiesProperties
STOP0拒绝该输入并显示错误对话框(默认)。.
WARNING1显示警告,但允许该输入。.
INFORMATION2显示信息性消息,但始终允许该输入。.

DataValidationImeMode

DataValidationImeMode 是一个 IntEnum 用于控制东亚文字输入的 IME(输入法编辑器)模式。.

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

DataValidation

一个 DataValidation 对象描述单个验证规则以及适用的单元格范围(sqref)它适用的范围。.

Properties

DataValidation(sqref=None)
PropertiesPropertiesProperties
sqref`strNone`

Properties

PropertiesPropertiesProperties
sqrefstr此规则的单元格范围(例如,., "B2:B100").
typeDataValidationType验证类型(整数、小数、列表、日期、时间、文本长度或自定义)。.
operatorDataValidationOperator比较运算符应用于 formula1 (以及 formula2 用于 BETWEEN/NOT_BETWEEN).
formula1str下限、列表来源(例如,., '"Apple,Banana,Cherry"'),或自定义公式。.
formula2str上限用于 BETWEENNOT_BETWEEN 运算符。.
alert_styleDataValidationAlertStyleExcel 对无效输入的响应 (STOP, WARNING,,或 INFORMATION).
show_error_messageboolTrue 在输入无效时显示错误消息对话框。.
error_titlestr错误对话框的标题(最多 32 个字符)。.
error_messagestr错误对话框的正文(最多 225 个字符)。.
show_input_messageboolTrue 在单元格被选中时显示输入提示消息。.
input_titlestr输入提示的标题(最多 32 个字符)。.
input_messagestr输入提示的正文(最多 255 个字符)。.
allow_blankboolTrue 允许空白(空)单元格而不触发错误。.
show_dropdownboolTrue 在列表验证时显示下拉箭头。.
ime_modeDataValidationImeMode东亚文字输入的 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 如果没有适用的。.

属性和迭代

PropertiesProperties
count此工作表上的验证规则数量(只读)。.
disable_promptsbool — 设置为 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")

另见

 中文