【问题标题】:python winapi check if sheet existspython winapi检查工作表是否存在
【发布时间】:2013-09-18 08:22:34
【问题描述】:

我正在使用这个:

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"

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

文件“..\dynamic.py”,第 554 行,在 setattr 中 pywintypes.com_error: (-2147352567, 'Ausnahmefehler aufgetreten.', (0, '微软 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 是否已经存在?

【问题讨论】:

  • 你能捕捉到异常吗?或者查看“名称”是否在 wb.Sheets.Name 中?如果它已经存在,你想做什么?

标签: python excel winapi


【解决方案1】:
'name' in [excel_file.Sheets(i).Name for i in range(1,excel_file.Sheets.Count+1)]

【讨论】:

  • 另一种解决方案位于:stackoverflow.com/a/37966737/1305322
  • 是的,但该解决方案使用的库不是 OP 原始问题的一部分
  • op 使用的库不能满足 op 的要求
猜你喜欢
  • 2018-09-08
  • 2022-11-15
  • 2011-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多