Я просто пытаюсь заставить 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 и с полным путем к файлу, как указано выше. Я уверен, что упустил что-то очевидное, но я не знаю, что. Надеюсь, кто-то может помочь.
wb = Workbook()
? - person Felix Zumstein   schedule 11.12.2014r
перед путем:wb = Workbook(r"C:\Users\Alan\Documents\Xlsaves\Test.xlsx")
в том виде, в котором он у вас есть сейчас, он интерпретирует обратную косую черту как escape-символ. В качестве альтернативы вы также можете всегда использовать двойную обратную косую черту. - person Felix Zumstein   schedule 05.01.2015