使用 python 中 xlsxwriter 的 data_validation() 方法中的 validate 作为列表从源设置默认值?

Jee*_*eta 3 python excel python-module python-3.x xlsxwriter

我使用 python 中的xlsxwriter模块创建了一个 Excel 工作表。我试图为使用 xlsxwriter 的 data_validation() 方法创建的下拉列表设置默认值。
但是,根据xlsxwriter的文档,如果我们使用validate as list,它没有默认值。

sheet.data_validation('G5', {'validate': 'list',
                             'source': ['Completed',
                                        'Pending',
                                        'Script Error']})
Run Code Online (Sandbox Code Playgroud)

谁能建议我一些解决办法,在同一单元格中设置默认值和下拉列表?

jmc*_*ara 6

据我所知,Excel 中没有选项可以在下拉数据验证中设置默认值。因此 XlsxWriter 不支持它。

但是,您可以将默认值写入与 XlsxWriter 中的数据验证相同的单元格。例如:

import xlsxwriter

workbook = xlsxwriter.Workbook('data_validate.xlsx')
worksheet = workbook.add_worksheet()

worksheet.data_validation('B3', {'validate': 'list',
                                 'source': ['Completed',
                                            'Pending',
                                            'Script Error']})

worksheet.write('B3', 'Pending')                                        


workbook.close()
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述