Problema com Microsoft.Office.Interop.Excel
25/07/2012
0
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
Posts
26/07/2012
Renato Groffe
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!
28/10/2013
Dardani Ltda
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
09/11/2013
Paulo
http://epplus.codeplex.com/
12/11/2013
[desativado] Gonçalves
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.
Clique aqui para fazer login e interagir na Comunidade :)