未解决 | xlwings 报错 pywintypes.com_error: (-2147024703, ‘OLE error 0x800700c1‘, None, None)

今天在学习 xlwings 库时,运行一个很简单的读取 .xlsx 文件的代码,结果报错如下:

Traceback (most recent call last):
  File "C:/Users/th1nker/PycharmProjects/orders/test/ch3.2.2.py", line 6, in <module>
    app = xw.App(visible=False, add_book=False)  # 创建App对象
  File "C:\Users\th1nker\AppData\Local\Programs\Python\Python38\lib\site-packages\xlwings\main.py", line 279, in __init__
    self.impl = engines.active.apps.add(
  File "C:\Users\th1nker\AppData\Local\Programs\Python\Python38\lib\site-packages\xlwings\main.py", line 188, in add
    return App(impl=self.impl.add(**kwargs))
  File "C:\Users\th1nker\AppData\Local\Programs\Python\Python38\lib\site-packages\xlwings\_xlwindows.py", line 493, in add
    return App(spec=spec, add_book=add_book, xl=xl, visible=visible)
  File "C:\Users\th1nker\AppData\Local\Programs\Python\Python38\lib\site-packages\xlwings\_xlwindows.py", line 517, in __init__
    self._xl = COMRetryObjectWrapper(DispatchEx("Excel.Application"))
  File "C:\Users\th1nker\AppData\Local\Programs\Python\Python38\lib\site-packages\win32com\client\__init__.py", line 145, in DispatchEx
    dispatch = pythoncom.CoCreateInstanceEx(
pywintypes.com_error: (-2147024703, 'OLE error 0x800700c1', None, None)

运行的代码如下:

# coding=utf-8

import xlwings as xw                         # 导入xlwings库名别名为xw

app = xw.App(visible=False, add_book=False)  # 创建App对象
f = r'data/学生信息.xlsx'

wb = app.books.open(f)                      # 打开Excel文件返回一个工作簿对象

sheet1 = wb.sheets['Sheet1']                # 通过工作表名返回工作表对象
sheet2 = wb.sheets[0]                       # 通过工作表索引返回工作表对象
sheet3 = wb.sheets.active                   # 返回活动活动工作表对象

rng = sheet1.range('B2')                    # 返回单元格B2对象

print('单元格B2:', rng.value)                # 打印单元格B2内容
rng = sheet1.range((2, 2))                  # 返回单元格B2对象
print('单元格B2:', rng.value)

rng = sheet1.range('a1:f1')                 # 返回表头
print('返回表头:', rng.value)

rng = sheet1.range('b1:b7')                 # 返回姓名列
print('姓名列:', rng.value)

rng = sheet1.range('a1:f7')                 # 返回二维表
L = rng.value                               # 返回二维数组

print(L)

wb.close()                                  # 关闭工作簿对象
app.quit()                                  # 退出Excel应用程序

print('Game Over')

初看报错信息,这个问题涉及到 windows 操作系统比较底层的一些东西了,暂时不知道如何解决。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值