如何使用xlsxwriter将格式应用为"文本"和"会计"

use*_*450 7 python-2.7 xlsxwriter

我一直在使用xlsxwriter并发现它真的很有帮助.我已将它用于多种用途,如自定义数据验证,自定义格式等.但有两件事我无法执行.

  1. 将单元格的格式设置为"文本"而不​​是"常规".我已经尝试过apis write_string,write_blank但是它们总是应用格式general

  2. 将格式设置为会计.我试过add_format({'num_format':'#,###'}.但这只是将格式设置为'自定义'而不是会计

请帮忙.

jmc*_*ara 14

  1. 要设置单元格格式,text需要将text格式应用于单元格(就像在Excel中一样).为此num_format,请将格式的属性设置为"@".
  2. 如果你设置一个像那样的字符串格式,#,###这通常会在Excel中显示为一种custom格式,即使它等同于其中一个内置格式类别accountancy.这与Excel的行为相同.

为了获得其中一种内置格式,您需要使用格式index而不是字符串.docsnum_format部分中的表显示了可用的索引及其等效的字符串格式.因为accountancy您需要使用其中一个类似会计的格式索引,例如44(_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)).以下示例显示了以下两个:

import xlsxwriter

workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()

worksheet.set_column('A:A', 20)

format1 = workbook.add_format({'num_format': '@'})
format2 = workbook.add_format({'num_format': 44})

worksheet.write(0, 0, 1234)
worksheet.write(1, 0, 1234, format1)
worksheet.write(2, 0, 1234, format2)

workbook.close()
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

  • 非常感谢...直接从作者那里... :) 你是一个救世主 (4认同)