将默认的Excel格式分配给单元格

时间:2019-03-17 00:31:02

标签: xlsxwriter

我正在使用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(特别是$)。似乎没有视觉格式设置(但是类型为“自定义”),并且值左对齐(而不是单元格为数字格式时的典型右对齐)。

如何使用Xslxwriter将默认的Excel格式类型分配给单元格,以使列采用数字格式(而不是自定义),从而启用诸如计算之类的功能?

注意:正确应用粗体或字体格式。我尝试了十六进制索引值,但单元格仍未格式化。

1 个答案:

答案 0 :(得分:1)

在Excel中,将数字格式分配给字符串无效。使用XlsxWriter时也是如此,尤其是在使用write_string()时。

您应该将数据转换为数字(如果是数字),然后使用write_number()write()应用格式。