python xslxwriter 正在验证国际化布尔值
python xslxwriter validating an internationalzed boolean
我正在使用 xlsxwriter 将布尔值写入工作表:
worksheet.write_boolean(i, 9, export, style_normal)
当我在 Excel 中打开 xlsx 文件时(公司政策将语言设置为荷兰语),
布尔值在单元格中显示为 'WAAR' 或 'ONWAAR'
我正在尝试添加验证:
worksheet.data_validation('J{0}'.format(i+1), {'validate': 'list', 'source': [True, False]})
但是我在这个 data_validation 列表的 Excel 中看到的下拉列表包含 'True' 和 'False' 而不是 'WAAR' 和 'ONWAAR'。如果您 select 下拉列表中的值之一,单元格中的值将更改为 True 或 False。
如何验证与单元格 WAAR/ONWAAR 中具有相同(已翻译)值的布尔单元格?
如果我这样进行验证,它对使用不同语言设置的人不起作用吗?
worksheet.data_validation('J{0}'.format(i+1), {'validate': 'list', 'source': ['WAAR', 'ONWAAR']})
我认为在 Excel 中(或在 XlsxWriter 中进行扩展)不可能做您想做的事。
Excel 没有明确的布尔数据验证选项。创建布尔数据验证的常用方法是使用包含“TRUE,FALSE”的列表。但是,这些存储为公式字符串,我认为 Excel 在加载文件时不会翻译这些。
如果您确实认为这是可能的,并且您设法创建了一个 Excel 文件,该文件在一个语言环境中加载为“TRUE,FALSE”,在另一个语言环境中加载为“WAAR/ONWAAR”,然后打开一个功能请求在 XlsxWriter GitHub 上使用示例文件,我将实现它。
一种可能的解决方法是将实际的布尔值放入某些单元格(比如 A1 和 A2),然后在数据验证中使用范围引用,如“=A1:A2”。这应该在语言环境之间进行转换。
像这样:
import xlsxwriter
workbook = xlsxwriter.Workbook('international_boolean.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', True)
worksheet.write('A2', False)
worksheet.data_validation('C1', {'validate': 'list', 'source': '=$A:$A'})
workbook.close()
我正在使用 xlsxwriter 将布尔值写入工作表:
worksheet.write_boolean(i, 9, export, style_normal)
当我在 Excel 中打开 xlsx 文件时(公司政策将语言设置为荷兰语), 布尔值在单元格中显示为 'WAAR' 或 'ONWAAR'
我正在尝试添加验证:
worksheet.data_validation('J{0}'.format(i+1), {'validate': 'list', 'source': [True, False]})
但是我在这个 data_validation 列表的 Excel 中看到的下拉列表包含 'True' 和 'False' 而不是 'WAAR' 和 'ONWAAR'。如果您 select 下拉列表中的值之一,单元格中的值将更改为 True 或 False。
如何验证与单元格 WAAR/ONWAAR 中具有相同(已翻译)值的布尔单元格?
如果我这样进行验证,它对使用不同语言设置的人不起作用吗?
worksheet.data_validation('J{0}'.format(i+1), {'validate': 'list', 'source': ['WAAR', 'ONWAAR']})
我认为在 Excel 中(或在 XlsxWriter 中进行扩展)不可能做您想做的事。
Excel 没有明确的布尔数据验证选项。创建布尔数据验证的常用方法是使用包含“TRUE,FALSE”的列表。但是,这些存储为公式字符串,我认为 Excel 在加载文件时不会翻译这些。
如果您确实认为这是可能的,并且您设法创建了一个 Excel 文件,该文件在一个语言环境中加载为“TRUE,FALSE”,在另一个语言环境中加载为“WAAR/ONWAAR”,然后打开一个功能请求在 XlsxWriter GitHub 上使用示例文件,我将实现它。
一种可能的解决方法是将实际的布尔值放入某些单元格(比如 A1 和 A2),然后在数据验证中使用范围引用,如“=A1:A2”。这应该在语言环境之间进行转换。
像这样:
import xlsxwriter
workbook = xlsxwriter.Workbook('international_boolean.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', True)
worksheet.write('A2', False)
worksheet.data_validation('C1', {'validate': 'list', 'source': '=$A:$A'})
workbook.close()