如何将工作表复制到工作簿的末尾而不是开头?

2024-04-20 03:59:37 发布

您现在位置:Python中文网/ 问答频道 /正文

This is in reference to the question:“如何将Excel工作表复制到Python中的另一个工作簿”。你知道吗

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()

Tags: thetotruexlsxexcelusersdispatchdesktop
1条回答
网友
1楼 · 发布于 2024-04-20 03:59:37

不知道是否还需要,但在这行:

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

还可以使用After设置所需的图纸位置。详见here。你知道吗

若要将其放置在所有现有图纸的末尾,可能需要先计算现有图纸的数量,然后使用结果编号指定文件的最后一张图纸,例如:

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

希望有帮助!你知道吗

相关问题 更多 >