2012-04-30 192 views
2

我想創建一個帶有pyvot的excel工作簿,如this tutorial所示。 Pyvot安裝正確,因爲我可以導入它沒有錯誤。但是,當我做的:xl.Workbook()(pyvot)無法打開excel工作簿

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) 

我沒有Python的工具,雖然安裝了Visual Studio。

  1. 我是否需要用於visual studio(PTVS)的Python工具才能使用pyvot?

  2. 可以降低版本的Excel然後Excel 2010(例如Excel 2007)與pyvot一起工作?

  3. 我是否需要在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 

有誰知道爲什麼嗎?

回答

2

Pyvot主頁:

Pyvot requires CPython 2.6 or 2.7 with the Python for Windows extensions (pywin32) installed, and Office 2010. If a clean Python session can import the win32com module, Pyvot is ready to be installed.

所以從它的描述,需要不需要PTVS,Excel 2010中的,你需要win32com模塊並在當前的解釋運行。我使用這個配置沒有任何問題。

+0

我已經安裝了Excel 2010,但我仍然得到一個NameError(請參閱更新的原始文章),任何線索爲什麼? – Bentley4

+0

你確定你的'import xl'語句工作正常嗎?你的錯誤很可能來自'xl.Workbook()',當xl未知時 – Boud

+0

'import xl'正常工作。 – Bentley4

1

事情發生在我身上,我今天就試了一下。
嘗試: xl.workbooks()

這與VBA代碼一致。

相關問題