2014-12-30 55 views
1

我打開使用Workbooks.Open方法投擲HRESULT:0x800A03EC

object missing = Type.Missing; 

xlWorkBook = xlApp.Workbooks.Open(strFilePath, missing, false, missing, missing, missing, 
true, missing, missing, missing, missing, true, missing, missing, missing); 

一個Excel文件,並將其拋出HRESULT: 0x800A03EC

這是工作的罰款與2010年辦公室,但更新Office庫15版本,並且在後部署到有Office 2013的服務器。我開始收到此消息。 我也曾嘗試發放的允許在DomConfig Excel對象,但它沒有工作,,

+0

@ adil-waqal:你使用的是什麼版本的服務器?這[回答](http://stackoverflow.com/a/4448781/848737)可以幫助你。 – Charlie

回答

0

注意,也有Microsoft.Office.Interop.Excel.dll
我很多版本,我能找到一個在:

C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14 


,另一個在:

C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12 


從項目中刪除引用,並添加合適的,重建的解決方案。
編輯#1
OFFICE11是Office的內部名稱2003
OFFICE12,對於Office 2007的
OFFICE14是Office 2010的
當安裝Microsoft Office,請確保.NET可編程性支持功能被選中。此外,你可以下載它們的形式:
Office 2010: Primary Interop Assemblies
嘗試找到那些Office 2013。

+0

我找不到任何辦公室14文件夾,但有Office11和Office12 ..是否意味着我沒有辦公室2013的PIA ...? –

+0

@AdilWaqar:我修改了答案,請參閱:編輯#1。 – houssam

0

這與您目前使用的Office PIA版本無關,因爲即使使用舊的PIA,您的代碼也應該與最新的Office版本配合使用。

相反,看看看看Considerations for server-side Automation of Office物品,其規定如下:

微軟目前並不提倡,不支持,Microsoft Office應用程序自動化從任何無人蔘與的非交互式客戶端應用程序或組件(包括ASP,ASP.NET,DCOM和NT服務),因爲Office在此環境中運行時可能會出現不穩定的行爲和/或死鎖。