如何在 Python 中读取 Excel 单元格数据验证规则?
从 openpyxl.cell
中,我只能读取值、is_date、字体、边框、填充、umber_format、对齐方式、data_type。此API中没有读取数据验证规则。
我之所以需要阅读数据验证规则,是因为我正在将 Master 模板与客户提交的数据版本的 Master 模板进行比较,以便我可以在 Excel 中验证包括数据验证规则在内的元数据,以便我们可以识别原始模板没有改变。
例如:下面是Python中Data Validation的写法。我如何找到 API 来从 Excel Cell 读取数据验证。
worksheet.data_validation('B25', {'validate': 'integer',
'criteria': 'between',
'minimum': 1,
'maximum': 100,
'input_title': 'Enter an integer:',
'input_message': 'between 1 and 100'})
xlwings
会有帮助吗?
谢谢 阿南特
最佳答案
我看了API文档没找到,但是通过源码阅读,可以通过以下方式获取
from openpyxl import load_workbook
wb2 = load_workbook('validation.xlsx')
ws = wb2.active
for one_val_obj in ws.data_validations.dataValidation:
for k, v in one_val_obj.__dict__.items():
print(k, v)
"""
sqref A1
showDropDown None
imeMode None
operator None
formula1 "数据验证1,数据验证2"
formula2 None
allowBlank True
showErrorMessage True
showInputMessage True
type list
promptTitle None
errorStyle None
error None
prompt None
errorTitle None
"""
关于Python读取Excel单元格数据验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60007847/