我正在使用python/openpyxl
并尝试查找工作簿中的所有下拉列表。我使用data_validations
在一个工作表上运行,但如果列表中的数据来自不同的工作表,则无法显示。
我读过我可以使用VBA
来执行此操作,但是还有其他库可以找到它。
使用print(ws.data_validations)
我得到下面的输出,但我知道工作表中有两个以上:
参数:
disablePrompts=None, xWindow=None, yWindow=None, count=2,
dataValidation=[<openpyxl.worksheet.datavalidation.DataValidation
object>
参数:
showErrorMessage=True, operator=None, prompt=None, imeMode=None,
errorStyle=None, showDropDown=None, showInputMessage=True, type=None,
allowBlank=False, promptTitle=None, error=None, errorTitle=None,
sqref='B2:B25 C2:C25 G2', formula1=None, formula2=None,
<openpyxl.worksheet.datavalidation.DataValidation object>
参数:
showErrorMessage=True, operator=None, prompt=None, imeMode=None,
errorStyle=None, showDropDown=None, showInputMessage=True,
type='list', allowBlank=False, promptTitle=None, error=None,
errorTitle=None, sqref='M29 F134', formula1=u'LT', formula2=None]
答案 0 :(得分:0)
似乎最好的方法是使用VBA搜索验证,因为它将搜索整个工作簿。从那个VBA将生成工作表,单元格,值的列表。我现在要将VBA导入到python中,以便它可以工作。