我想用python在我的excel工作表中创建一个下拉列表。源代码位于另一个工作表中,但位于同一文件中。目前,我正在使用这个方法进行验证。
def add_data_validation(sheet, dropdown_sheet):
end_use_validation = DataValidation(type="list", formula1='dropdown!$A$1:$A$3', showDropDown=True)
status_validation = DataValidation(type="list", formula1='dropdown!$B$1:$B$3', showDropDown=True)
result_validation = DataValidation(type="list", formula1='dropdown!$C$1:$C$3', showDropDown=True)
for row in range(2, sheet.max_row + 1):
end_use_cell = sheet['V' + str(row)]
status_cell = sheet['W' + str(row)]
result_cell = sheet['X' + str(row)]
end_use_validation.add(end_use_cell)
status_validation.add(status_cell)
result_validation.add(result_cell)
sheet.add_data_validation(end_use_validation)
sheet.add_data_validation(status_validation)
sheet.add_data_validation(result_validation)
字符串
Excel error
但是,当我运行程序并在我的excel工作表中检查结果时,没有下拉列表。我注意到,我必须选择忽略空白和单元格内下拉菜单,以显示下拉列表。
Data Validation的
如何在我的Python代码中做到这一点?先谢谢你。
目前,这个问题只能在我进入我的excel并手动选中这两个框时才能解决。
1条答案
按热度按时间hfyxw5xn1#
从你的标签上看,你好像在用Pandas。但是我看到
DataValidation
在openpyxl库中可用。请从导入DataValidation
的位置共享。如果它来自openpyxl,它接受2个参数,可以启用这些复选框。
showDropdown
您已经启用。allowBlank
启用其他复选框。字符串
因此,您的代码将变为:
型
参考:https://openpyxl.readthedocs.io/en/latest/api/openpyxl.worksheet.datavalidation.html?highlight=DataValidation#module-openpyxl.worksheet.datavalidation