如何在 python 中通过 win32com 覆盖 Excel sheet

How can I overwrite Excel sheet by win32com in python

我正在尝试将 excel sheet 数据从 A 文件覆盖到 B 文件。为此,我使用 pywin32.

import win32com.client
    
excel = win32com.client.Dispatch("Excel.Application")
wb_dst = excel.ActiveWorkbook
wb_src = excel.Workbooks.Open("source.xlsx")
wb_src.ActiveSheet.Copy(After=wb_dst.ActiveSheet)

我完成了复制。但是这段代码对目标文件做了额外的 sheet。基本上两个文件几乎相同。所以我想在目标文件上同时复制 sheet。但是 pywin32 中的 Copy 函数会在活动 sheet 之前或之后自动生成。我怎样才能覆盖它?

您可以使用如下内容:

wb_src.ActiveSheet.Cells.Copy(Destination=wb_dst.ActiveSheet.Cells(1))

wb_src.ActiveSheet.UsedRange.Copy(Destination=wb_dst.ActiveSheet.Cells(1))

使用Rangeclass的Copy方法,不同于Worksheetclass的Copy方法。