将Excel工作表添加到工作簿末尾

我试图将excel工作表添加到工作簿的末尾,以保留第一张工作表的摘要.

import win32com.client

Excel = win32com.client.DispatchEx('Excel.Application')
Book = Excel.Workbooks.Add()

Excel.Visible = True

Book.Worksheets(3).Delete()
Book.Worksheets(2).Delete()

Sheet = Book.Worksheets(1)

Sheet.Name = "Summary"

Book.Worksheets.Add(After=Sheet)

Sheet = Book.Worksheets(2)

Sheet.Name = "Data1"

尽管使用After = Sheet,此代码将新工作表添加到左侧,当我修改名为“ Data1”的工作表时,它将覆盖名为“ Summary”的工作表.

这类似于此问题:

Adding sheets to end of workbook in Excel (normal method not working?)

但是给定的解决方案对我不起作用.

解决方法:

尝试通过添加Before = None来使用它:

add = Book.Sheets.Add(Before = None , After = Book.Sheets(book.Sheets.count))
add.Name = "Data1"
上一篇:我如何使用Win32com从Word文档中按颜色获取文本?


下一篇:Python – 带有win32com的额外Excel图表系列