使用openpyxl编辑Excel2007文件(.xlsx)而不更改自己的样式?

Xia*_*iao 13 python excel-2007 openpyxl

我有一个.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')
Run Code Online (Sandbox Code Playgroud)

Xia*_*iao 15

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

  • 不错的链接!它是否应该离线,这里有一个相同内容的要点:https://gist.github.com/airstrike/5469478 (3认同)