15

我有一个要编辑的 .xlsx 文件,我发现openpyxl可以操作 Excel 2007 文件。我只想更改某些单元格中的值并保持其他设置不变。

但是在我浏览了文档之后,我找不到编辑现有文件的示例。它仅演示了读取 .xlsx 文件并写入新文件。

我尝试了以下方法来编辑现有文件,但在保存后,文件中的样式已被删除(如字体、颜色):

from openpyxl.reader.excel import load_workbook
wb=load_workbook(r'd:\foo1.xlsx')
ws=wb.get_sheet_by_name('Bar')
ws.cell('A1').value= 'new_value'
# save the workbook to a new file to finish the editing
# but the style settings has been removed (such like font, color) in the new file
wb.save(r'd:\foo2.xlsx')
4

2 回答 2

18

现在 openpyxl 无法处理足够好的样式,所以我尝试使用 pywin32 COM 并得到了解决方案。这是一个很好的python-excel-mini-cookbook使用 pywin32 COM for Excel

于 2011-07-22T03:13:57.167 回答
1

openpyxl 中尚不完全支持样式。确保您使用的是最新版本(截至目前为 1.5.3),因为它最近改进了其样式功能。

xlwt 具有更完整的 .xls 文件格式,但目前还不支持 xlsx。

于 2011-07-21T08:35:44.420 回答