На компьютере, на котором размещен файл, не установлен драйвер ACE OleDB для офиса.Я бы переключился на драйвер JetOleDB
Строка подключения Jet OleDB выглядит как
Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
Excel8.0 - это версия 2003, я считаю.В 2007 году вы захотите использовать Excel12.0
Так что я бы хотел сделать String.Format и просто передать местоположение файла Excel, конечно, поскольку это выглядит как asp.netПриложение должно выглядеть примерно так:
String con = String.Format( @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"", Server.MapPath(EXCEL FILE LOCATION) );
Конечно, вы можете просто поместить строку, используемую в String.Format, в ваш файл конфигурации, чтобы она не была жестко запрограммирована, как у меня.