如何在工作簿的末尾而不是在开始时复制工作表?

时间:2019-03-11 18:01:43

标签: python

This is in reference to the question:“如何使用Python将Excel工作表复制到另一个工作簿”。

from win32com.client import Dispatch
path1 = 'C:\\Users\\Xukrao\\Desktop\\workbook1.xlsx'
path2 = 'C:\\Users\\Xukrao\\Desktop\\workbook2.xlsx'

xl = Dispatch("Excel.Application")
xl.Visible = True  # You can remove this line if you don't want the Excel 
application to be visible

wb1 = xl.Workbooks.Open(Filename=path1)
wb2 = xl.Workbooks.Open(Filename=path2)

ws1 = wb1.Worksheets(1)
ws1.Copy(Before=wb2.Worksheets(1))

wb2.Close(SaveChanges=True)
xl.Quit()

1 个答案:

答案 0 :(得分:0)

不知道是否仍然需要它,但是在这一行:

ws1.Copy(Before=wb2.Worksheets(1))

您还可以使用After设置所需的工作表位置。有关更多详细信息,请参见here

要将其放置在所有现有工作表的末尾,您可能要先计算现有工作表并使用结果编号指定文件的最后工作表,例如:

wb2_lastsheet = len(wb2.Worksheets)
ws1.Copy(After=wb2.Worksheets(wb2_lastsheet))

希望有帮助!