2013-08-16 13 views
7

To przeszkadza mi w moim bieżącym projekcie. Próbuję napisać stylów w arkuszu Excel za pomocą XLWT, patrz poniżej:XLWT wiele stylów

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

używam do tego błędu:

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

Każdy pomysł jak obejść ten problem, aby dodać wiele stylów do pewnej komórki? Czy można tutaj sporządzić listę?

Odpowiedz

14

Należy zdać tylko numer wiersza, numer COL wartości i styl (XFStyle klasa instancji) metody write, na przykład:

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

samo, ale przy użyciu easyxf:

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, tak. Ma sens. Robiłem to w ten sposób wcześniej, ale po prostu wydaje się nieporęczne. Dowiedziałem się o xlwt.easyxf i pomyślałem, że będzie to łatwy sposób na zrobienie tego. Chyba nie): –

+0

Możesz też użyć 'easyxf'. Jest to w zasadzie sposób inicjowania stylów xlwt w ciągu znaków. Mogę podać ci przykład, jeśli chcesz. – alecxe

+0

Tak, proszę. Nie chcę być ciężarem, ale naprawdę muszę zobaczyć, jak to się robi. –

Powiązane problemy