利用python获取excel中所有下拉选(drop down)中的值,在百度搜了一下午,都没找到合适的方法,还是google靠谱给力,很快就找到解决办法了,分享一下,供有需要的同行参考。
excel中数据如下图(B3中为:中国,日本,美国,苏联,C1中为:男,女,中性,D1:D3中为:男性,女生,同胞)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#导入库 import openpyxl #封装函数 def read_with_dropdown(book_name, sheet_name): # 读取excel wb = openpyxl.load_workbook(book_name) # 读取sheet表 ws = wb[sheet_name] # 读取excel指定单元格数据 # data = ws["A1":"G5"] # 获取内容存在下拉选的框数据 validations = ws.data_validations.dataValidation # 遍历存在下拉选的单元格 for validation in validations: # 获取下拉框中的所有选择值 cell = validation.sqref result = validation.formula1 print("单元格位置:"+str(cell)+",下拉选内容:"+result) #调用函数 data = read_with_dropdown("test.xlsx", "Sheet1") |
最终控制台上效果: