Problema com Microsoft.Office.Interop.Excel

25/07/2012

0

Eu tenho um website usando (ou tentando usar) Microsoft.Office.Interop.Excel.

Na minha máquina de desenvolvedor (Windows 7 Professional SP1 32 bits com Visual Studio 2010 e Office 2003) tudo funciona perfeitamente.

Eu só publiquei o website e copiei todo o conteúdo para o servidor, Windows Server 2008 SP2 64 bits.

Eu recebi o erro:

Could not load file or assembly S3A.Importacoes or one of its dependencies. An attempt was made to load a program with an incorrect format.

Então eu tentei:
- instalar office 2003 e PIA (Primary Interop Assemblies)
- instalar office 2007 e PIA
- instalar office 2010 e PIA
- copiar DLLs (Microsoft.Office.Interop.Excel.dll / Microsoft.Vbe.Interop.dll / office.dll) da pasta website/bin para system32 e registrá-las.
Nada funcionou.

O que eu devo fazer para resolver este problema?

Obrigado.

Rodrigo Zanferrari Caraça
Rodrigo Caraça

Rodrigo Caraça

Responder

Posts

26/07/2012

Renato Groffe

Rodrigo,


Tive alguns problemas num servidor 64 bits recentemente.

Usei as instruções dos links a seguir:

[url]http://social.msdn.microsoft.com/Forums/pl-PL/vbgeneral/thread/4d6c383a-94eb-4898-9d22-aa4bb69be25b[/url]
[url]http://stackoverflow.com/questions/4408336/system-runtime-interopservices-comexception-0x800a03ec[/url]

Aparentemente, as dlls de Interop precisam que existam 2 pastas dentro do diretório do Windows, sendo que as mesmas não existem em servidores com versões mais recentes do Windows. Além disso, você precisará conceder acesso total às mesmas. Não soa como a melhor alternativa, mas foi a única referência que encontrei, sendo citada em diversos sites da Internet.

Após seguir as orientações mencionadas, o problema foi solucionado aqui.

Espero que isso ajude a você.


Até mais!
Responder

28/10/2013

Dardani Ltda

Amigo, tente o seguinte.

No IIS selecione o site vá em "configurações básicas", clique no botão "Conectar como..." - > Marque a opção Usuário Especifico e coloque um login e senha do seu usuario, ou de um usuario que tenha todas as permissões sobre o sistema operacional.

Tentei modificar as permissões no serviço do Excel, nas pastas do projeto e mesmo assim continuava com problemas, essa alternativa que eu citei é mais pratica do que ficar liberando acesso dos serviços e pastas que o sistema irá utilizar, uma vez que o ISS irá utilizar seu Usuário para se autenticar.
Abraços
Responder

09/11/2013

Paulo

Tive problemas com interop tb, a melhor solução que encontrei foi usar outra API, o EPPlus pra gerar excel (q não depende de office instalado e outras dependências no servidor).
http://epplus.codeplex.com/
Responder

12/11/2013

[desativado] Gonçalves

Gente, o Interop só vai funcionar se você tiver o OFFICE instalado no servidor. Até parece que a tiasoft vai dar o Office assim, de graça pra gente ...

o único jeito de resolver é ou instalar o office no servidor, não recomendo, ou usar uma biblioteca a parte que faça o papel do excel, como, por exemplo, NPOI (http://npoi.codeplex.com/).

Já usei exaustivamente o POI para projetos em JAVA e o NPOI é a biblioteca portada para .NET.

Funciona perfeitamente para ler e escrever qualquer arquivo do Office sem perder formatação. É rápido e simples de usar.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar