python/openpyxl/DataValidation给 excel添加下拉列表
创建自定义列表
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
# 创建一个自定义列表
custom_list = ['Option 1', 'Option 2', 'Option 3']
创建excel工作簿和工作表
# 创建一个新的 Excel 工作簿和工作表
wb = Workbook()
ws = wb.active
创建数据验证对象并应用
# 将自定义列表添加到 Excel 工作簿的 "A1:A3" 区域中
for i, value in enumerate(custom_list, start=1):
ws[f'A{i}'] = value
# 创建一个数据验证对象,指定列表来源和应用的单元格范围
dv = DataValidation(type="list", formula1=f'=$A$1:$A${len(custom_list)}', allow_blank=True)
# 或者无需写到excel工作簿中
dv= DataValidation(type="list",formula1='"Option 1,Option 2,Option 3"',allow_blank=True)
# 将数据验证对象应用于单元格范围
ws.add_data_validation(dv)
dv.add(ws["B1"])
# 保存 Excel 文件
wb.save('output_with_dropdown.xlsx')
效果图: