Abrindo uma planilha do Excel no .NET em um sistema x64

3

Não consigo abrir uma planilha do Excel com .NET em um servidor x64 usando a seguinte string de conexão

"Provedor = Microsoft.Jet.OLEDB.4.0; Fonte de Dados=" + filePath + "; Propriedades estendidas = Excel 8.0;"

Eu recebo O provedor 'Microsoft.Jet.OLEDB.4.0' não está registrado na máquina local.

Eu instalei o 2007 Office System Driver: Componentes de Conectividade de Dados e tentei com o Microsoft.ACE.OLEDB.12.0 e esta string de conexão

"Provedor = Microsoft.ACE.OLEDB.12.0; Fonte de dados=" + filePath + "; Propriedades estendidas = Excel 8.0;"

e tenho "O provedor 'Microsoft.ACE.OLEDB.12.0' não está registrado na máquina local."

Eu pesquisei no Google com a única resposta sendo que é um problema de 64 bits, alguém tem uma idéia de como corrigir isso?

    
por Bob The Janitor 30.06.2009 / 17:36

5 respostas

2

Você pode usar o Open XML SDK para abrir um arquivo do Excel 2007 e ler ou alterar o conteúdo.

link

Isso não usa o programa do Excel, mas o abre como um documento XML. Assim, você contorna o problema de 64 bits.

No entanto, pode exigir alterações importantes no seu programa.

    
por 21.09.2009 / 14:07
0

Você só pode fazer isso a partir da versão de 32 bits do framework. se for um aplicativo ASP.net, você pode alterar o servidor para executar isso no framework de 32 bits. Se for um aplicativo nativo, você terá que recompilar (embora seja melhor perguntar no stackoverflow)

    
por 30.06.2009 / 17:42
0

você não pode, os drivers não estão lá. A única solução que encontrei é, se puder, salve-o como um csv e leia-o dessa maneira.

    
por 29.07.2009 / 02:19
0

Todos os drivers do Office são somente de 32 bits, portanto você não pode usar arquivos do Office a partir de aplicativos x64; o problema é mais comum quando os aplicativos ASP.NET em sistemas x64 tentam abrir bancos de dados Acess.

Você precisa forçar seu aplicativo a ser executado no modo x86; é um aplicativo do Windows ou um ASP.NET? No ASP.NET, você pode fazer isso como declarado aqui .

    
por 24.08.2009 / 11:37
0

Eu não tentei, mas aparentemente a opção de instalação / passive pode ser uma solução alternativa com Ace de 64 bits .

    
por 25.04.2013 / 18:45