Python XlsxWriter - 数字格式


在 Excel 中, “设置单元格格式”菜单的“数字”选项卡中提供了数字数据的不同格式设置选项。

设置单元格格式

要使用 XlsxWriter 控制数字的格式,我们可以使用set_num_format()方法或定义add_format()方法的num_format属性。

f1 = wb.add_format()
f1.set_num_format(FormatCode)
#or
f1 = wb.add_format('num_format': FormatCode)

Excel 具有多种预定义的数字格式。它们可以在“数字”选项卡的自定义类别下找到,如上图所示。例如,带有两位小数和逗号分隔符的数字的格式代码为#,##0.00。

例子

在以下示例中,数字 1234.52 使用不同的格式代码进行格式化。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()
ws.set_column('B:B', 30)

num=1234.52

num_formats = (
   '0.00',
   '#,##0.00',
   '0.00E+00',
   '##0.0E+0',
   '₹#,##0.00',
)
ws.write('A1', 'Formatted Number')
ws.write('B1', 'Format')

row = 1
for fmt in num_formats:
   format = wb.add_format({'num_format': fmt})
   ws.write_number(row, 0, num, format)
   ws.write_string(row, 1, fmt)
   row += 1
wb.close()

输出

格式化的数字以及使用的格式代码如下图所示 -

格式化数字