2013-08-16 13 views
7

Bu benim mevcut projemle aklımı topluyor. Ben XLWT kullanarak bir excel sayfasına stilleri yazmaya çalışıyorum, aşağıya bakınız:XLWT çoklu stiller

sheet.write(rowi,coli,value,stylesheet.bold,stylesheet.bordered) 

Ben bu hatayla ediyorum:

TypeError: write() takes at most 5 arguments (6 given)

nasıl birden stilleri eklemek için bu aşmanın herhangi bir fikir belli bir hücreye Burada bir liste yapmak mümkün mü?

cevap

14

Örneğin, write yöntemin tek satır numarasını, sütun numarasını, değer ve stil (XFStyle sınıf örneği) geçmelidir:

import xlwt 

workbook = xlwt.Workbook() 
worksheet = workbook.add_sheet('Test') 

style = xlwt.XFStyle() 

# font 
font = xlwt.Font() 
font.bold = True 
style.font = font 

# borders 
borders = xlwt.Borders() 
borders.bottom = xlwt.Borders.DASHED 
style.borders = borders 

worksheet.write(0, 0, 'test value', style=style) 
workbook.save('test.xls') 

aynı şey, ama easyxf kullanarak:

import xlwt 

workbook = xlwt.Workbook() 
worksheet = workbook.add_sheet('Test') 

style_string = "font: bold on; borders: bottom dashed" 
style = xlwt.easyxf(style_string) 

worksheet.write(0, 0, 'test value', style=style) 
workbook.save('test.xls') 
+0

Ah, evet. Mantıklı. Daha önce bu şekilde yapıyordum, ama çok hantal görünüyor. Ben xlwt.easyxf hakkında öğrendim ve bununla bunu yapmak için kolay bir yol olacağını düşündüm. Tahmin et): –

+0

'easyxf'ü de kullanabilirsiniz. Temelde xlwt stillerini bir dizgede başlatmanın bir yoludur. İstersen sana bir örnek verebilirim. – alecxe

+0

Evet lütfen. Yük olmak istemem ama gerçekten nasıl yapıldığını görmem gerek. –