2012-11-22 39 views
1

我試圖使用Python寫一個Excel工作表,並遇到了以下錯誤的Excel文件:xlwt.Style.EasyXFCallerError而寫使用Python

Traceback (most recent call last): 
    File "create_excel.py", line 29, in <module> 
    ws.row(8).write(0,'',Style.easyxf('pattern: pattern solid, fore_colourgreen;')) 
    File "/usr/local/lib/python2.7/site-packages/xlwt/Style.py", line 618, in easyxf 
    field_sep=field_sep, line_sep=line_sep, intro_sep=intro_sep, esc_char=esc_char, debug=debug) 
    File "/usr/local/lib/python2.7/site-packages/xlwt/Style.py", line 574, in _parse_strg_to_obj 
    raise EasyXFCallerError("no value supplied for %s.%s" % (section, k)) 
xlwt.Style.EasyXFCallerError: no value supplied for pattern.fore_colourgreen 

導致上述錯誤的路線是: -

ws.row(8).write(0,'',Style.easyxf('pattern: pattern solid, fore_colourgreen;')) 

我還修改了行:

ws.row(8).write(0,'',Style.easyxf('pattern: pattern solid, fore-colourgreen;')) 

爲一些論壇有-而不是_fore-colourgreen但無濟於事。

有人可以告訴我這裏有什麼問題嗎?

+1

我想這只是告訴你'pattern.fore_colourgreen'是未定義的。我懷疑這個標識符會有'-',因爲這不是一個合法的Python標識符名稱。儘管'xlwt'模塊的代碼沒有找到該名稱或類似的預定義模式,所以它看起來像你必須自己定義它或使用別的東西。 – martineau

回答

0

你缺少空間:

'pattern: pattern solid, fore_colourgreen;'

應該

'pattern: pattern solid, fore_colour green;'

如果使用連字符或下劃線不要緊; easyxf可以處理(通過自動將連字符轉換爲下劃線)。