2011-10-20 9 views
7

W szczególności próbuję otworzyć istniejący skoroszyt i zapisać na nim trochę danych.Python Excel (xlrd, xlwt) - Jak skopiować styl z jednej komórki i umieścić go na innej

Jednak za każdym razem, gdy piszę dane, zaciera się granice na tych komórkach.

Zastanawiam się, czy istnieje sposób na skopiowanie stylu tej komórki przed napisaniem do niej, a następnie ponowne jej zastosowanie.

Myślę, że mogę być na dobrej drodze z tym kodem?

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

Ale ja dostaję ten błąd:

AttributeError: NamedStyle instance has no attribute 'font' 

Odpowiedz

Powiązane problemy