2017-02-03 48 views
1

對此做了很多工作。公式單元格上的XlsxWriter設置格式

如何設置一個單元格的格式,我可能已經寫了一個公式或將要編寫一個公式?

除write_formula()外,其他每個write_()都包含一個format參數。

例如:

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") 

回答

1

這工作:

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) 
0

甲格式可以在被施加到公式與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() 

輸出:

enter image description here