2014-12-30 5 views
1

Я открываю файл Excel с помощью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); 

и бросает HRESULT: 0x800A03EC

Он работал отлично с офисом 2010 года, но после обновления офисных библиотек до версии 15 и когда развернутый на сервер, который имел офис 2013 года. Я начал получать это сообщение. Я также попытался дать разрешение на объект Excel в DomConfig, но он не работал ,,

+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 


удалить ссылки из вашего проекта и добавить подходящие из них, перестраивать свое решение.
EDIT # 1
Office11 это внутреннее имя для Office 2003.
Office12, что для Office 2007.
Office14, что для Office 2010.
При установке Microsoft Office, убедитесь, что поддержка программирования .NET особенность выбрано. Кроме того, вы можете скачать их форму:
Office 2010: Primary Interop Assemblies
попытайтесь найти их для Office 2013.

+0

Я не мог найти какую-либо офисную папку 14, но есть Office11 и Office12 .. это означает, что у меня нет PIA для офиса 2013 ...? –

+0

@AdilWaqar: Я изменил ответ, см.: EDIT # 1. – houssam

0

Не имеет значения, какую версию Office PIA вы используете в данный момент, потому что даже со старыми PIA ваш код должен работать против новейших версий Office.

Вместо гляньте взглянуть на Considerations for server-side Automation of Office статьи, которая гласит следующее:

Microsoft в настоящее время не рекомендуется, и не поддерживают, автоматизации приложений Microsoft Office из любого без присмотра, не интерактивного клиентского приложения или компонент (включая службы ASP, ASP.NET, DCOM и NT), поскольку при работе Office в этой среде Office может проявлять нестабильное поведение и/или тупик.