2011-10-20 34 views
7

Cụ thể là tôi đang cố mở một sổ làm việc hiện có và ghi một số dữ liệu vào sổ làm việc đó.Python Excel (xlrd, xlwt) - Cách sao chép kiểu từ một ô và đặt nó vào một

Tuy nhiên, bất cứ khi nào tôi ghi dữ liệu, nó xóa các đường viền trên các ô đó.

Vì vậy, tôi tự hỏi liệu có cách nào để sao chép kiểu của ô đó trước khi ghi vào nó và sau đó áp dụng lại nó.

Tôi nghĩ rằng tôi có thể đi đúng hướng với mã này?

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

Nhưng tôi nhận được lỗi này:

AttributeError: NamedStyle instance has no attribute 'font' 

Trả lời

Các vấn đề liên quan