使用OpenPyxl创建数据验证异常:仅显示公式,需手动批量修复
OpenPyxl数据验证不显示下拉列表的问题修复
你的脚本主要有两个关键错误,导致数据验证无法正常显示下拉列表:
公式引用格式错误
你给formula1的外部工作表引用多套了一层双引号,这会让Excel把这个值当成普通文本,而不是数据验证的列表数据源。正确的写法应该直接用={工作表名}!单元格区域的格式,不需要额外加引号包裹。下拉箭头显示设置错误
代码里设置了showDropDown=False,这个参数会隐藏数据验证的下拉箭头——哪怕数据验证逻辑是对的,你也看不到下拉列表。必须改成showDropDown=True才会显示箭头。
另外注意代码里的小语法问题:load_workbook(r'Y)和save(r'E:\file)的引号没闭合,运行时会报错,记得补全文件名和引号(比如r'Y.xlsx')。
修正后的代码如下:
filename = "X" wbook = openpyxl.load_workbook(r'Y.xlsx') sheet = wbook["Count BO"] validation_t = DataValidation( type='list', formula1='={0}!$B$64:$G$64'.format(quote_sheetname('Loss Level Tree')), allow_blank=True, showErrorMessage=False, showDropDown=True ) sheet.add_data_validation(validation_t) validation_t.add('T2:T1048576') wbook.save(r'E:\file.xlsx')
内容的提问来源于stack exchange,提问作者Nicolas Raimundez
相关产品推荐
相关产品推荐

