我正在使用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格式类型分配给单元格,以使列采用数字格式(而不是自定义),从而启用诸如计算之类的功能?
注意:正确应用粗体或字体格式。我尝试了十六进制索引值,但单元格仍未格式化。
答案 0 :(得分:1)
在Excel中,将数字格式分配给字符串无效。使用XlsxWriter时也是如此,尤其是在使用write_string()
时。
您应该将数据转换为数字(如果是数字),然后使用write_number()
或write()
应用格式。