You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用xlwings在新工作簿中创建工作表时出现CommandError错误

解决xlwings新建工作表时的CommandError问题

问题重现

执行代码:

import xlwings as xw

wb = xw.Book()  
sheet = wb.sheets.add('trade_summary')

出现错误:

CommandError: 命令执行失败:
        系统错误: -1728
        提示信息: 您尝试访问的对象不存在
        执行命令: app(pid=464).workbooks['Book13'].sheets['Sheet2'].name.get()

可能原因及解决办法

  • 交互延迟导致对象未初始化
    新建工作簿后,Excel可能未完全完成初始化流程,xlwings就尝试访问默认工作表,触发对象不存在的错误。
    解决:添加短暂延迟等待Excel加载完成:

    import xlwings as xw
    import time
    
    wb = xw.Book()
    time.sleep(0.5)  # 给Excel预留初始化时间
    sheet = wb.sheets.add('trade_summary')
    
  • 默认工作表引用不匹配
    部分环境(如Mac版Excel)中,新建工作簿的默认工作表名称/数量可能与xlwings预期不符,导致自动引用时出错。
    解决:明确指定新建工作表的位置,避免依赖默认引用:

    import xlwings as xw
    
    wb = xw.Book()
    # 明确在第一个现有工作表后添加新表
    sheet = wb.sheets.add('trade_summary', after=wb.sheets[0])
    
  • Excel进程残留冲突
    未正常关闭的Excel残留进程,可能导致xlwings引用了无效的工作簿对象。
    解决:关闭所有Excel进程后重新运行代码。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 13:52:33