使用xlsxwriter写入时设置货币符号

时间:2015-09-17 09:58:34

标签: python excel currency number-formatting xlsxwriter

我在使用xlsxwriter以货币值编写我想要的货币符号时遇到了问题。

我按照教程here编写了正确格式和美元符号的货币值(无论是来自教程还是excel的默认设置,我不确定)。

这有效:

money = workbook.add_format({'num_format':'$#,##0.00'})

并打印出带有美元符号的货币值。

$1,000.00

但如果我尝试插入自己的货币,请说R

money = workbook.add_format({'num_format':'R#,##0.00'})

我明白了:

R1000

如何使用xlsxwriter设置货币符号?

3 个答案:

答案 0 :(得分:6)

请尝试:

num_format('"R" #,##0.00')  

format.set_num_format()

答案 1 :(得分:2)

尝试以下内容:

import xlsxwriter

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

money_format = workbook.add_format({'num_format': '[$R]#,##0.00'})

worksheet.write('A1', 1234.56, money_format)

workbook.close()

确定所需数字格式的最佳方法是在Excel中格式化单元格,然后对其进行编辑并查看自定义格式。

如果正负值的处理方式不同,它可能类似[$R-431]#,##0.00或类似的东西。

答案 2 :(得分:0)

完全可以在所有版本中使用

currency_id = fields.Many2one('res.currency', 'Currency',default=lambda self: self.env.user.company_id.currency_id)

style5 = xlwt.easyxf('font:bold True;', num_format_str=self.currency_id.symbol + '#,##0.00')