我在 xlsxwriter 工作时遇到了创建下拉列表的问题。数据验证没有出现,即使我确信我已经掌握了代码的要点。我开始于:def english_fluency(pd_df, source):"""data validation for english fluency""" writer = pd.ExcelWriter(source, engine='xlsxwriter') pd_df.to_excel(writer, sheet_name='Verification', index=False) workbook = writer.book worksheet = writer.sheets['Verification'] worksheet.data_validation('E2', {'validate': 'list', 'source': [' ', '1', '2', '3', '4']}) workbook.save() workbook.close()因为我觉得我一直在碰壁,所以我决定切换到 openpyxl 来尝试更简洁地完成同样的事情:def english_fluency_dv(ws): """data validation for english fluency""" dv_ef = DataValidation(type="list", formula1='"1,2,3,4"', allow_blank=True, showDropDown=True) ws.add_data_validation(dv_ef) return ws我仍然看不到数据验证下拉列表,也许我遗漏了什么或者把它放在了 Excel 工作表的错误区域?
1 回答
![?](http://img1.sycdn.imooc.com/5458464a00013eb602200220-100-100.jpg)
侃侃无极
TA贡献2051条经验 获得超10个赞
您在错误的库中使用了正确的代码。此代码使用 xlswriter 向单元格 E2 添加验证:
import xlsxwriter
workbook = xlsxwriter.Workbook('ValList.xlsx') # open\create workbook
ws = workbook.add_worksheet('Verification') # new sheet
# add validation list
ws.data_validation('E2', {'validate': 'list',
'source': [' ', '1', '2', '3', '4']})
ws.write("E2", '2') # set cell value
workbook.close() # save & close
添加回答
举报
0/150
提交
取消