You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用win32com打开Excel工作簿时出现Python错误

问题分析与解决:用win32com打开Excel文件失败的问题

嘿,我一眼就瞅出你代码里的问题啦!问题出在打开工作簿的那一行,调用方式搞反了~

你现在写的是excel.Workbooks(r'文件路径').Open(),但实际上Workbooks对象的Open方法是直接接收文件路径作为参数的,正确的调用逻辑应该是调用Workbooks.Open()并传入路径,而不是先以路径为索引去访问Workbooks集合再调用Open。之前的写法相当于在找一个叫这个路径名字的工作簿,这显然不存在,所以才会在打开环节报错。

给你修正后的完整代码:

def open_sheet():
    excel = win32com.client.Dispatch("Excel.Application")
    # 修正Open方法的调用方式,直接传入文件路径给Workbooks.Open()
    wb = excel.Workbooks.Open(r'C:\Users\<username>\Documents\<more file path>\test.xls')
    ws = wb.Worksheets('abc') # 存在名为abc的工作表
    excel.Visible = True

另外给你个小优化提示:既然你的.py文件和test.xls在同一目录下,完全可以不用写冗长的绝对路径,直接用文件名即可,代码会更简洁灵活:

wb = excel.Workbooks.Open('test.xls')

内容的提问来源于stack exchange,提问作者user4396936

火山引擎 最新活动