为了账号安全,请及时绑定邮箱和手机立即绑定

Python excel 下拉过滤器不适用于 openpyxl 或 xlsxwriter

Python excel 下拉过滤器不适用于 openpyxl 或 xlsxwriter

蛊毒传说 2023-04-25 15:59:26
我在 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 回答

?
侃侃无极

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


查看完整回答
反对 回复 2023-04-25
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信