我一直在使用xlsxwriter并发现它真的很有帮助。 我已将它用于多种用途,如自定义数据验证,自定义格式等 然而,我无法执行两件事。
将单元格的格式设置为' text'而不是' general'。我已经尝试过apis write_string,write_blank,但它们总是应用格式通用
将格式设置为会计。我试过add_format({' num_format':'#,###'}。但这只是将格式设置为' custom'而不是记帐
请帮忙。
答案 0 :(得分:10)
text
,您需要将text
格式应用于单元格(就像在Excel中一样)。为此,您需要将格式的num_format
属性设置为' @'。#,###
的字符串格式,那么这通常会在Excel中显示为custom
格式,即使它等同于其中一个内置格式类别,例如accountancy
。这与Excel的行为相同。为了获得其中一种内置格式,您需要使用格式index
而不是字符串。 num_format section of the docs中的表显示了可用的索引及其等效的字符串格式。对于accountancy
,您需要使用其中一种类似会计的格式索引,例如44(_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)
)。下面的例子显示了这两个:
import xlsxwriter
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()
worksheet.set_column('A:A', 20)
format1 = workbook.add_format({'num_format': '@'})
format2 = workbook.add_format({'num_format': 44})
worksheet.write(0, 0, 1234)
worksheet.write(1, 0, 1234, format1)
worksheet.write(2, 0, 1234, format2)
workbook.close()
输出: