我正在使用XlsxWriter格式化包含货币格式字符串的单元格,如下所示:
currency_cell_format = self.workbook.add_format()
currency_cell_format.set_num_format('_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)')
self.worksheet.write_string(row=r, col=c, string=value, cell_format=currency_cell_format)
预期的结果是在excel中查看工作表时的格式类型应该是Number
(特别是$
)。似乎没有可视化格式(但类型为“自定义”),并且值是左对齐的(而不是在单元格为数字格式时的典型右对齐)。
如何使用Xlsxwriter将默认的Excel格式类型分配给单元格,以便列是数字格式(而不是自定义),从而实现计算等功能?
注意:应用粗体或字体格式正常工作。我尝试了十六进制索引值,但单元格仍未格式化。
在Excel中,为字符串分配数字格式无效。使用XlsxWriter时同样适用,特别是如果您使用的是write_string()
。
您应该将数据转换为数字(如果是数字),然后使用write_number()
或write()
应用格式。