2013-08-16 13 views
7

これは私の現在のプロジェクトで私の心を揺さぶっています。私は以下を参照してください、XLWTを使用してExcelシートにスタイルを記述しようとしている:XLWT複数のスタイル

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

私は、このエラーに実行しているよ:

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

複数のスタイルを追加するには、この問題を回避するにはどのように任意のアイデアある細胞に?ここでリストを作成することは可能ですか?

答えて

14

あなたは、例えば、write方法にのみ行番号、列番号、値およびスタイル(XFStyleクラスのインスタンス)を通過する必要があります。

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

同じことが、を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

ああ、そうです。意味をなさない私はこれまでこれをやっていましたが、かさばるようです。私はxlwt.easyxfについて知り、それを簡単に行う方法があると考えました。あなたは思っていません): –

+0

'easyxf'も使えます。それは基本的に、文字列のxlwtスタイルを初期化する方法です。あなたが望むなら、私はあなたに例を提供することができます。 – alecxe

+0

はい。私は負担になるわけではありませんが、実際にどのように行われているか見る必要があります。 –