调用win32com.client.gencache.EnsureDispatch后的坑 object has no attribute

之前使用win32com库的时候我常用的打开方式是
excel = win32com.client.Dispatch()
readbook = excel.Workbooks.Open()
一直相安无事,从其中调用api完成对行列的增删的语句也很简单
wb.api.rows(i).delete
wb.api.rows(i).insert

最近在使用Python调用win32com库生成excel透视表的过程中,我使用了新的打开方式:
Excel = win32com.client.gencache.EnsureDispatch()
Excel.Workbooks.Open()
在调用之后,出现了可怕的问题。我在此之前所有运行正常的使用win32com库的程序都无法正常运行,只要运行到调用api语句的行就会出现提示
AttributeError: ‘<win32com.gen_py.Microsoft Excel 16.0 Object Library.Range instance at 0x1930691905184>’ object has no attribute ‘XXXXX’

无数次尝试后我终于发现了问题,只要使用了该语句后,即使不在该程序内,所有的调用api的语句都需要区分大小写。更改后恢复正常运行。
wb.api.Rows(i).Delete()
wb.api.Rows(i).Insert()

好大的坑!!!特此为记。

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值