【问题标题】:How to copy and paste existing sheet in existing workbook using python?如何使用python复制和粘贴现有工作簿中的现有工作表?
【发布时间】:2021-06-06 14:46:56
【问题描述】:

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

  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 excel


【解决方案1】:

你必须使用 python 包来完成这个任务,我建议你使用openpyxl 包。包的基本用法可以在这里找到。

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

你基本上会读excel,同时写一个新的excel,逐行复制数据。

【讨论】:

  • 链接不存在。
【解决方案2】:

我认为你可以使用 xlwings

这里有说明如何打开Excel文件Opening Workbook

然后简单地使用 API,复制一张并添加为新的:Sheets-Api

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      正如 Falloutcoder 所提到的,您可以将 openpyxl 模块用于 Excel 任务。对于数据复制,您可以使用“for loop”和“ws2.cell(row=i,column=j).value=ws1.cell(row=i,column=j).value”函数从一个复制数据工作表到另一个。 enter link description here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-26
        • 2017-08-15
        相关资源
        最近更新 更多