Чтение файла Excel из x86 и x64 - PullRequest
0 голосов
/ 17 февраля 2012

Мой локальный ПК установлен с Windows7 64bit и Microsoft Excel 2010 Но большинство компьютеров моих клиентов - это XP Professional Service Pack 3 и Excel 2003

Я получил эту строку подключения для импорта данных из файла Excel

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";

Но это выдает ошибку, говорящую, что

The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.

Я хочу, чтобы мое приложение могло читать файлы Excel для архитектур x86 и x64. Как я могу обработать это программно, не устанавливая дополнительный драйвер Excel на ПК?

Я думаю использовать разные строки подключения для импорта файлов Excel на основе архитектуры ЦП.

Есть идея получше?

Ответы [ 2 ]

2 голосов
/ 17 февраля 2012

Убедитесь, что в вашей системе разработки установлен драйвер Jet, поддерживающий как x86, так и x64.

Поставщик Microsoft.Jet.OLEDB.4.0 'не зарегистрирован на локальном компьютере

0 голосов
/ 18 августа 2017

Это происходит из-за несоответствия между конфигурацией компиляции в Visual Studio и версией ACE, установленной в системе. ( Ссылка: Как читать или записывать файл Excel с помощью поставщика данных ACE OLEDB? .)

Вы можете решить это, убедившись, что оба они одинаковы. Скомпилируйте приложение, используя биты x64, если установлена ​​64-разрядная версия ACE, или используйте 32-разрядную версию ACE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...