繁体   English   中英

Python Excel(xlrd,xlwt) - 如何从一个单元格复制样式并将其放在另一个单元格上

[英]Python Excel (xlrd, xlwt) - How to copy a style from one cell and put it on another

具体来说,我正在尝试打开现有的工作簿,并向其中写入一些数据。

但是,每当我写入数据时,它都会消除这些单元格上的边框。

所以我想知道是否有办法在写入之前复制该单元格的样式然后重新应用它。

我想我可能会使用这段代码走上正轨吗?

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'

这里的问题是xlrd.NamedStyle与xlwt.XFStyle非常不同。

这个问题似乎是使用python的xlrd,xlwt和xlutils.copy保存样式的重复

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM