2011-09-09 52 views
0

我知道已經有數百萬篇關於這方面的文章,但是我似乎找不到能夠反映我的問題的文章。VS2010中的Excel自動化

我正在使用VS2010並希望自動化excel,我試圖通過這裏的例子。

MS Tutorial

問題是,當我去當提到

3.添加對Microsoft Excel對象庫的引用添加引用。要這樣做,請按照下列步驟操作:?在項目菜單上,單擊添加引用。 ?在COM選項卡上,找到Microsoft Excel對象庫,然後單擊選擇。

沒有這樣的參考。

有人請讓我知道,如果這是正確的方式來自動化與VS2010 excel。

如果是有人請讓我知道爲什麼我沒有excel的COM選項。

我想在VB.net中編寫,但如果有人在C#中有一個例子,那很好。

親切的問候

我曾嘗試使用Microsoft.Office.Interop.Excel.Application DLL實現自動化,但我得到下面的異常,當我嘗試創建Excel應用程序。

此行生成錯誤。

EXL = New Microsoft.Office.Interop.Excel.Application() 

這是例外

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) 
+1

Excel是否安裝在您的電腦上?哪個版本? – Fionnuala

+1

您需要在安裝Excel時指定這些庫的安裝,而不是Visual Studio。 – jonsca

+0

我在我的機器上安裝了Excel 2010。我需要下載一些額外的文件嗎?這些文件是否需要通過我製作的程序進行分發? – user589195

回答

1

如果您有Office 2010安裝在您的計算機上,但還沒有看到它在COM選項卡,然後有你有64位合理賠率安裝Office版本。 Visual Studio是一個32位程序,它無法查看64位COM服務器的註冊表項。

變通辦法是使用主互操作程序集,它應該安裝在您的機器上。使用.NET選項卡並選擇Microsoft.Office.Interop.Excel。下一個選項是直接導入類型庫。使用瀏覽選項卡並導航到c:\ program files \ microsoft office \ office14並選擇excel.exe。將添加的引用的Copy Local屬性設置爲True,以避免必須將PIA部署到目標機器。

另外請確保您的應用程序可以作爲64位進程運行。在使用Project + Properties,Compile選項卡選擇的vb.net中,向下滾動Advanced Compile Options,將Target CPU設置爲「AnyCPU」。

+0

在COM選項卡下,我有一個選項添加「微軟Office 14.0對象庫」這是我應該看的對於? – user589195

+0

不可以。那麼,您是否擁有64位版本的Office?你有沒有按照我關於設置目標CPU選項的建議? –

+0

我已經設置了CPu,但仍無法看到Microsoft Excel對象庫。據我所知,我沒有64位版本......但我確實有學生和家庭版。不知道這是否會有所作爲。 – user589195