今天在学习 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 操作系统比较底层的一些东西了,暂时不知道如何解决。