繁体   English   中英

如何使用python在现有工作簿中复制和粘贴现有工作表?

[英]How to copy and paste existing sheet in existing workbook using python?

我一直在寻找一种方法来执行以下操作:

  1. 打开包含多个工作表.xlsl的现有工作簿。

  2. 创建一个新的工作表,并重命名。

  3. 从名为“模板”的现有工作表复制数据和格式,然后将该数据粘贴到之前创建的工作表中。

有什么办法可以做我需要的吗?

编辑:这是如何做到这一点的方式:

import openpyxl
from openpyxl.worksheet.copier import WorksheetCopy

workbook = openpyxl.load_workbook('input.xlsx')
template_worksheet = workbook.get_sheet_by_name(sheet_name)
new_worksheet = workbook.create_sheet('New_Sheet_Name')
instance = WorksheetCopy(template_worksheet, new_worksheet)
WorksheetCopy.copy_worksheet(instance)
workbook.save('output.xlsx')

你将不得不使用 python 包来完成这个任务,我建议你使用openpyxl包。 可以在此处找到该包的基本用法。

https://openpyxl.readthedocs.io/en/default/usage.html

您将基本上阅读 excel 并同时编写一个新的 excel,逐行复制数据。

我认为你可以使用xlwings

在这里您描述了如何打开Excel 文件打开工作簿

然后使用 API 复制一张工作表并添加为新工作Sheets-Api

是否特别需要使用 Python 作为您的解决方案? 在这里使用 Visual Basic 宏似乎更合适。 如果它需要适合 Python 程序,请考虑在 Excel 文件中构建宏,然后从 Python 脚本调用该文件。

虽然这个问题很老了,但希望评论对更新新人仍然有用。

正如 Falloutcoder 所提到的,您可以将 openpyxl 模块用于 Excel 任务。 对于数据复制,您可以使用“for 循环”和“ws2.cell(row=i,column=j).value=ws1.cell(row=i,column=j).value”函数从一个复制数据表到另一个。 在此处输入链接描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM