xlwings выдает ошибку Invalid class string

Я просто пытаюсь заставить xlwings работать с:

 Windows 8.1
 Python 2.7.5
 Excel 2013

xlwings установился нормально (импортирует без сообщений об ошибках). Я пробовал использовать IDLE, а также использовать ipython/Python 2.7.6, и в обоих случаях я получаю похожие трассировки ошибок, которым я действительно не следую. Вот результат сеанса IDLE:

Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> from xlwings import Workbook, Range
>>> wb = Workbook("C:\Users\Alan\Documents\Xlsaves\Test.xlsx")

Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
wb = Workbook("C:\Users\Alan\Documents\Xlsaves\Test.xlsx")
File "C:\Python27\lib\site-packages\xlwings\main.py", line 52, in __init__
self.xl_app, self.xl_workbook = xlplatform.open_workbook(self.fullname)
File "C:\Python27\lib\site-packages\xlwings\_xlwindows.py", line 93, in open_workbook
xl_app = _get_latest_app()
File "C:\Python27\lib\site-packages\xlwings\_xlwindows.py", line 89, in _get_latest_app
return dynamic.Dispatch('Excel.Application')
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 122, in Dispatch
IDispatch, userName = _GetGoodDispatchAndUserName(IDispatch,userName,clsctx)
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 114, in
_GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
com_error: (-2147221005, 'Invalid class string', None, None)

Результаты под ipython аналогичны и также заканчиваются ошибкой com. Вышеприведенное, по-видимому, указывает на то, что python находит файл сценария xlwings. Я пробовал закрыть и открыть Excel; без указания файла excel и с полным путем к файлу, как указано выше. Я уверен, что упустил что-то очевидное, но я не знаю, что. Надеюсь, кто-то может помочь.


person Alan Kessler    schedule 09.12.2014    source источник
comment
Вы получаете ту же ошибку, если запускаете wb = Workbook()?   -  person Felix Zumstein    schedule 11.12.2014
comment
Я думаю, что вам просто не хватает r перед путем: wb = Workbook(r"C:\Users\Alan\Documents\Xlsaves\Test.xlsx") в том виде, в котором он у вас есть сейчас, он интерпретирует обратную косую черту как escape-символ. В качестве альтернативы вы также можете всегда использовать двойную обратную косую черту.   -  person Felix Zumstein    schedule 05.01.2015