Python 使用openpyxl加载/保存后,合并的单元格被破坏

Python 使用openpyxl加载/保存后,合并的单元格被破坏,python,openpyxl,Python,Openpyxl,我正在使用openpyxl abd打开一个.xlsm文件,更新了其中的一些单元格,然后保存为.xlsm文件。现在,当我打开保存的文件时,我看到合并到原始文件中的单元格在新文件中被打断 我使用的代码是- from openpyxl import Workbook from openpyxl import load_workbook wb = load_workbook('Excel.xlsm',read_only=False ,keep_vba=True) ws = wb['K0 Reg Patc

我正在使用openpyxl abd打开一个.xlsm文件,更新了其中的一些单元格,然后保存为.xlsm文件。现在,当我打开保存的文件时,我看到合并到原始文件中的单元格在新文件中被打断

我使用的代码是-

from openpyxl import Workbook
from openpyxl import load_workbook
wb = load_workbook('Excel.xlsm',read_only=False ,keep_vba=True)
ws = wb['K0 Reg Patch Util']
ws.cell(row=42,column=3).value = 25
ws.cell(row=43,column=3).value = 30      
ws.cell(row=44,column=3).value = 24
wb.save('Test.xlsm')
即使使用openpyxl合并列打开和保存文件,原始文件中的边框也会被破坏。关于这个问题,我搜索了很多次,但没有一个解决方案是令人满意的。我甚至遇到了一个monkeypatch脚本,在包含openpyxl库之后,它将包含在脚本中-

monkeypatch将覆盖库中合并单元格的定义


有人能告诉我如何在脚本中包含此修补程序,以及“self”在脚本中的含义是什么。

我遇到了类似的问题。但对我来说,这只发生在“受保护”的excel文件中。解除这种保护对我来说很有效。不再有“破碎”的合并单元格。至少对于扩展名为.XLSX的文件,我没有测试.XLSM