I'estou tentando obter dados de um arquivo Excel em um evento de clique de botão. Minha string de conexão é:
string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\source\\SiteCore65\\Individual-Data.xls;Extended Properties=Excel 8.0;";
Quando clico no botão, recebo o seguinte erro:
The 'Microsoft.ACE.OLEDB.12.0' o fornecedor não está registado na máquina local.
Não faço ideia de como resolver isto. O meu sistema operativo é o Windows 7.
Bem, você precisa de o instalar. Você'está à procura:
Uma versão 64-bit do 'Microsoft Access Database Engine 2010 Redistributable' que lhe permitirá utilizar o 'Microsoft.ACE.OLEDB.12.0' o fornecedor está disponível aqui:
http://www.microsoft.com/en-us/download/details.aspx?id=13255
Se você usar o download da resposta aceita, você precisará construir para x86, como apontado por @backtestbroker.com.
Recebi esse erro/exceção no Visual Studio 2010 quando alterei minha compilação na caixa de diálogo do Gerenciador de Configuração de "x86" para "Qualquer CPU". Esse driver de banco de dados OLEDB que eu entendo só funciona em x86 e não é compatível com 64 bits. Mudar a configuração de compilação de volta para x86 resolveu o problema para mim.