簡體   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