openpyxl:数据验证未显示下拉列表

And*_*ndi 3 python openpyxl

我基本上复制了文档中的DataValidation使用示例( https://openpyxl.readthedocs.io/en/stable/validation.html)。openpyxl

唯一的区别是我将showDropDownarg 设置为True。不幸的是,这没有任何区别,即当我打开 Excel 工作表时,我看不到下拉菜单。事实上,它根本没有启用(比较截图)。

from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation

# Create the workbook and worksheet we'll be working with
wb = Workbook()
ws = wb.active
# Create a data-validation object with list validation
dv = DataValidation(
    type="list", formula1='"Dog,Cat,Bat"', allow_blank=True, showDropDown=True
)
# Optionally set a custom error message
dv.error = "Your entry is not in the list"
dv.errorTitle = "Invalid Entry"
# Optionally set a custom prompt message
dv.prompt = "Please select from the list"
dv.promptTitle = "List Selection"
# Add the data-validation object to the worksheet
ws.add_data_validation(dv)
dv.add(ws["A1"])

wb.save(filename="dropdown_issue.xlsx")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

And*_*ndi 9

ApparentylshowDropDown是 的别名hide_drop_down。设置showDropDown=False就可以了。

这很令人困惑!前段时间已经在https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1336上提出了一个问题。