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

问题描述 投票:0回答:1

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

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

xlsxwriter
1个回答
1
投票

在Excel中,为字符串分配数字格式无效。使用XlsxWriter时同样适用,特别是如果您使用的是write_string()

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

© www.soinside.com 2019 - 2024. All rights reserved.