python winapi 检查工作表是否存在

der*_*ojo 3 python excel winapi

我正在使用这个:

from win32com.client import Dispatch
excel_file = Dispatch("Excel.Application")
excel_file.Workbooks.Open(excel_result_path)
excel_file.Visible = 1
mySheet = excel_file.Worksheets.Add()
mySheet.Name = "name"
Run Code Online (Sandbox Code Playgroud)

效果很好。唯一的问题是,如果工作表已经存在,我会收到一条错误消息,告诉我该工作表已经存在

文件“..\dynamic.py”,第 554 行,setattr pywintypes.com_error : (-2147352567, 'Ausnahmefehler aufgetreten.', (0, 'Microsof t Excel', 'Kann einem Blatt nicht den gleichen Namen geben wie einem anderen Bla tt,einer Objektbibliothek oder einer Arbeitsmappe,auf die Visual Basic Bezug n immt。','xlmain11.chm',0,-2146827284),无)

所以我的问题是,如何检查 excel-sheet-name allready 是否存在?

小智 5

'name' in [excel_file.Sheets(i).Name for i in range(1,excel_file.Sheets.Count+1)]
Run Code Online (Sandbox Code Playgroud)