2011-10-20 27 views
7

特に、既存のブックを開いてデータを書き込もうとしています。Python Excel(xlrd、xlwt) - 1つのセルからスタイルをコピーして別のセルに配置する方法

ただし、データを書き込むたびに、それらのセルの枠線が消去されます。

だから私はそれに書き込む前にそのセルのスタイルをコピーしてからそれを再適用する方法があるのだろうかと思っています。

私はこのコードで正しい軌道に乗っていると思いますか?

from xlrd import open_workbook 
from xlwt import easyxf 
from xlutils.copy import copy 
from xlutils.styles import Styles 

rb=open_workbook('source.xls',formatting_info=True) 
styles = Styles(rb) 
rs=rb.sheet_by_index(0) 
wb=copy(rb) 
ws=wb.get_sheet(0) 

for i,cell in enumerate(rs.col(2)): 
    if not i: 
     continue 
    cell_style = styles[rs.cell(i,2)] 
    ws.write(i,2,cell.value,cell_style) 

wb.save('output.xls') 

しかし、私はこのエラーを取得しています:

AttributeError: NamedStyle instance has no attribute 'font' 

答えて

関連する問題