【发布时间】:2019-03-01 15:44:40
【问题描述】:
我正在尝试复制已合并单元格的工作表(在同一工作簿中),但出现错误。我有相当长的模板,我复制这些模板然后为不同的项目填充。如果我取消合并所有单元格,我的代码就可以工作,但这会打乱所有格式。我可以取消合并单元格,复制工作表,然后重新合并它们。但是,有大量合并的单元格,我必须使用几个不同的模板。我对模板没有任何控制权。我正在使用 openpyxl 2.5.4。
这是我的代码:
wb = openpyxl.load_workbook(temp)
wb.save(filename = "test.xlsx")
pg = openpyxl.load_workbook("test.xlsx")
ws = pg.copy_worksheet(pg["sheet1"])
这是错误:
Traceback (most recent call last):
File "<ipython-input-41-a49f299a8c1f>", line 1, in <module>
ws = pg.copy_worksheet(pg["sheet1"])
File "C:\ProgramData\Anaconda3\lib\site-packages\openpyxl\workbook\workbook.py", line 394, in copy_worksheet
cp.copy_worksheet()
File "C:\ProgramData\Anaconda3\lib\site-packages\openpyxl\worksheet\copier.py", line 43, in copy_worksheet
self.target.merged_cells = copy(self.source.merged_cells)
File "C:\ProgramData\Anaconda3\lib\copy.py", line 88, in copy
return copier(x)
File "C:\ProgramData\Anaconda3\lib\site-packages\openpyxl\worksheet\cell_range.py", line 456, in __copy__
n.ranges.append(copy(r))
File "C:\ProgramData\Anaconda3\lib\copy.py", line 88, in copy
return copier(x)
File "C:\ProgramData\Anaconda3\lib\site-packages\openpyxl\worksheet\cell_range.py", line 136, in __copy__
title=self.title)
TypeError: __init__() got an unexpected keyword argument 'min_col'
我看到了其他关于复制合并单元格样式的问题,但这根本不会复制工作表。有什么建议吗?
谢谢。
布兰登
【问题讨论】:
-
潜在的错误应始终提交给 openpyxl 错误跟踪器。
-
我刚刚打开了一个问题。 bitbucket.org/openpyxl/openpyxl/issues/1215/…