Я пытаюсь читать данные из таблицы Excel в DataSet, однако я получаю сообщение об ошибке: «Нет значения для одного или нескольких требуемых параметров». Я провел некоторое исследование и узнал, что эта ошибка обычно возникает, когда требуемое значение пусто («« в случае строки ») или« null ». Ниже мой код.VB.net Visual Studio 2003 Чтение данных из таблицы Excel
cnExcel = New System.Data.OleDb.OleDbConnection(_
"provider=Microsoft.Jet.OLEDB.4.0; " & _
"data source=" & FileName & "; " & _
"Extended Properties=Excel 5.0;")
cdImport = New System.Data.OleDb.OleDbDataAdapter(_
"select * from [" & cSheetName & "$] order by StoreID, ItemID", cnExcel)
dsImport = New System.Data.DataSet
cdImport.Fill(dsImport)
cnExcel.Close()
Ошибка встречающийся на cdImport.Fill (dsImport) предположительно потому, что нет ничего, чтобы заполнить dsImport с.
После выполнения некоторых отладки я считаю, что поле Version Сервер cnExcel является: Ошибка: excpetion типа: {} System.InvalidOperationException произошло
Что я делаю неправильно?
Спасибо за ввод, но это не решит мою проблему. – jlrosenberg
Кроме того, я заметил, что в коде вы явно не выполняете 'cnExcel.Open()', но у вас есть 'cnExcel.Close()'. Возможно, попробуйте сделать это (открытие соединения) перед заполнением DataSet – nkvu
Кроме того, «Excel 5.0» кажется немного старым ... если вы прокрутите страницу вниз [это] (http://support.microsoft.com/kb/257819) в разделе «Как использовать поставщика OLE DB для Microsoft Jet» он указывает некоторые версии Excel для использования и когда их использовать. – nkvu