2014-11-24 83 views
7

请能有人给我一个例子,如何 整个工作表与风格(从行和列) 复制到第二个工作表在同一工作簿? (在新的工作簿中也是可能的)复制整个工作表

谢谢。

P.S .:我试图做一个深层次的拷贝,但是保存更改后的数据单元失败。
目的是:我尝试用我的数据填充一些工作表,第一个工作表是我的模板。

我成功复制了值,但只有一些款式。 我使用的是最新版本的openpyxl,所以请不要使用1.x方法。

回答

8

版本2.4将允许你这样做:copy_worksheet

>>> source = wb.active 
>>> target = wb.copy_worksheet(source) 

对于旧的你也许可以在源代码here

更新复制:你不能简单地移植这些代码到旧版本

+1

值得指出您引用的版本尚未有最终版本。 – 2016-06-22 10:57:09

+1

另一点是,这个“copy_worksheet”函数似乎只限于同一个工作簿。 (来源:http://openpyxl.readthedocs.io/en/default/api/openpyxl.worksheet.copier.html?highlight=copy_worksheet“...从一张工作表到另一张工作簿内的另一张工作表。”) 我想要将工作表从“模板”工作簿复制到另一个输出工作簿。 – Jason 2017-08-30 09:42:52

1

你不能轻易做到这一点。最好的方法可能是bug 171

+0

感谢您的支持我。最后我发现python-relatorio更有帮助。很难找到... – 2014-11-25 20:37:42

0

中描述的问题我有同样的问题。我解决了使用复制,而不是deepcopy。我找到了这个解决方案site

我希望这适合你!

+0

使用deepcopy的原因是创建一个新对象作为另一个对象的副本,而不仅仅是参考 – Sam 2016-07-29 13:36:30

相关问题