2011-10-20 119 views
7

Específicamente, estoy tratando de abrir un libro existente y escribirle algunos datos.Python Excel (xlrd, xlwt) - Cómo copiar un estilo desde una celda y ponerlo en otro

Sin embargo, cada vez que escribo los datos borra los bordes de esas celdas.

Así que me pregunto si hay una forma de copiar el estilo de esa celda antes de escribirla y luego volver a aplicarla.

Creo que podría estar en el camino correcto con este código?

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

Pero estoy recibiendo este error:

AttributeError: NamedStyle instance has no attribute 'font' 

Respuesta

Cuestiones relacionadas