为单元格分配默认 excel 格式

Assign default excel format to cell

我正在使用 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 格式类型分配给单元格,以便列为数字格式(而不是自定义),从而启用计算等功能?

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

在 Excel 中,将数字格式分配给字符串无效。这同样适用于使用 XlsxWriter 时,尤其是当您使用 write_string() 时。

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