繁体   English   中英

XlsxWriter 在公式单元格上设置格式

[英]XlsxWriter set format on formula cells

在为此工作了很长时间之后。

如何设置已写入公式或将要写入公式的单元格的格式?

除了 write_formula() 之外,所有其他 write_() 都包含一个格式参数。

例如:

ws.write_number(1,1,quantity, fmt)
ws.write_number(1,2,price, fmt)
# ws.write_formula("C1","=A1*B1",fmt) <-- doesn't exists
ws.write_formula("C1","=A1*B1")

这有效:

extendedprice = (quantity*price)
ws.write_formula("C1", "=A1*B1", extendedprice, fmt)

我什至发现我可以:

ws.write_number(1,1,quantity, fmt)
if (<price has an error>):
   ws.write_number(1,2,"n/a",fmt)
   ws.write_formula("C1", "=A1*B1", "n/a", fmt)
else:
   ws.write_number(1,2,price,fmt)
   ws.write_formula("C1", "=A1*B1", (quantity*price), fmt)

格式可以以与任何其他数据类型相同的方式应用于 XlsxWriter 的公式:

import xlsxwriter

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

my_format = workbook.add_format({'bold': True, 'color': 'red'})

worksheet.write(0, 0, 'Hello', my_format)
worksheet.write(1, 0, 123,     my_format)
worksheet.write(2, 0, '=1+1',  my_format)

worksheet.write('A4', 'World', my_format)
worksheet.write('A5', 456,     my_format)
worksheet.write('A6', '=2+2',  my_format)

workbook.close()

输出:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM