我想在pyvot中使用this tutorial创建一个Excel工作簿。 Pyvot安装正确,因为我可以导入它没有错误。但是当我这样做时:
import xl
xl.Workbook()
我收到此错误:
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'module' object has no attribute 'workbook'
>>> xl.Workbook()
Traceback (most recent call last):
File "", line 1, in
File "C:\Python27\lib\site-packages\pyvot-0.1.2-py2.7.egg\xl\sheet.py", line 91, in __init__
excel = win32.gencache.EnsureDispatch('Excel.Application')
File "C:\Python27\lib\site-packages\win32com\client\gencache.py", line 529, in EnsureDispatch
disp = win32com.client.Dispatch(prog_id)
File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 108, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 85, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
com_error: (-2147221005, 'Invalid class string', None, None)
我没有为Visual Studio安装Python工具。
我是否需要使用Python工具进行Visual Studio(PTVS)才能使用pyvot?
可以降低excel版本,然后excel 2010(例如excel 2007)可以使用pyvot吗?
我是否需要在excel中设置任何内容以使其与pyvot一起使用?
如果上述问题之一的答案没有解释为什么我无法使代码段正常工作,我该怎么做才能让它正常工作?
我已经安装了excel 2010. Pyvot已正确安装,因为我在import xl
时没有收到任何错误。当我在pywin32中输入以下内容时:
import xl
xl.Workbook()
我得到这个NameError:
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
NameError: name 'xl' is not defined
有谁知道为什么?
答案 0 :(得分:2)
来自Pyvot主页:
Pyvot要求CPython 2.6或2.7安装了Python for Windows扩展(pywin32)和Office 2010.如果干净的Python会话可以导入win32com模块,则可以安装Pyvot。
因此,根据描述,不需要PTVS,Excel 2010是必需的,并且您需要在当前解释器中启动并运行win32com
模块。我没有任何问题地使用这种配置。
答案 1 :(得分:1)
发生在我身上,我今天才尝试过。
尝试:
xl.workbooks()
与VBA代码一致。