Подключение OleDb не читает все строки из файла Excel

Я использую соединение OleDb в C # для чтения данных с листа Excel. И заполните его в Datatable.

На листе 275 строк и 27 столбцов. После того, как я его прочитал, строки 1,2 и 3 пусты. Все остальные строки заполнены правильно.

У кого-нибудь есть представление о проблеме?

Вот мой код:

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
                "Data Source=" + "C:/Sheets/DataSheet.xls" + ";Extended Properties=Excel 12.0;";

objConn = new OleDbConnection(connString);

string Query = "SELECT * FROM [Sheet1$]";
OleDbCommand objCmd = new OleDbCommand(Query, objConn);

DataTable Table = new DataTable();
objAdapter1.SelectCommand = objCmd;
objAdapter1.Fill(Table);

person Youssef    schedule 06.09.2011    source источник
comment
Даже я столкнулся с такими проблемами. Вы можете сослаться на: stackoverflow.com/questions/6913497/ и stackoverflow.com/questions/1941083/, а также stackoverflow.com/questions/6913497/ Убедитесь, что ваши соединения правильные connectionstrings.com/excel   -  person Pratik    schedule 07.09.2011


Ответы (3)


Проблема заключалась в том, что мой лист содержал смешанные данные и читал только числа. Решение - указать

Properties=\"Excel 12.0;IMEX=1\";"

IMEX = 1 позволяет читателю импортировать все данные, а не только числа

person Youssef    schedule 07.09.2011

В этом сообщении есть некоторая информация о том, что первая строка обрабатывается как заголовок, если вы не укажете HDR=NO в строке подключения.

Однако я не уверен, почему 2-й и 3-й ряды могут быть пропущены; есть ли разница в их содержании, которую вы можете увидеть?

person Daniel B    schedule 06.09.2011
comment
Спасибо за ваш ответ. Но я знаю, что первая строка является заголовком и не считал ее. заголовок заполняется правильно, но следующие 3 строки не заполняются. И нет никакой разницы в их содержании - person Youssef; 06.09.2011

Я только что добавил новую строку в верхнюю, и она появилась в наборе данных. Итак, изменение порядка строк решило проблему в моем случае

person alexey    schedule 03.10.2017