merged cells are broken after load/save using openpyxl

时间:2018-09-19 08:16:55

标签: python openpyxl

I am opening a .xlsm file using openpyxl abd updated some cells in it and then saved as .xlsm file.Now when I open the saved file I see that the cells which were merged in the original file are broken in new file.

the code which i am using is-

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

Even on simple opening and saving file with openpyxl merged columns borders in the original file are broken. I have searched many times regarding this problem but none of the solutions were satisfying. I even came across a monkeypatch script which is to be included in the script after including the openpyxl library.The source for the script is-

https://bitbucket.org/openpyxl/openpyxl/issues/365/styling-merged-cells-isnt-working

The monkeypatch will overwrite the definition of merged cell from that present in the library.

can somebody tell me how to include this patch in the script and What does "self" means in the script.

1 个答案:

答案 0 :(得分:1)

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