Чтение данных из MS Excel в .net - PullRequest
0 голосов
/ 04 августа 2011

Я написал фрагмент кода, который считывает данные Excel в таблице данных через ado.net. Теперь я видел странное поведение, что тип данных столбца в MS Excel указан как общий, но если 1-я строка Excel этого конкретного столбца содержит какой-то текст, ado.net не может прочитать числа в этом конкретном столбце и если 1-я строка содержит некоторую числовую информацию, ado.net не может прочитать текстовые данные этого конкретного столбца. Вот код, который я использую для чтения данных из Excel.

    string excelConString = @"Provider=Microsoft.Jet.OLEDB.4.0;
                                Data Source=D:\A.xls;
                                Extended Properties=""Excel 8.0;HDR=YES;""";
    var oleDbConnection = new OleDbConnection(excelConString);

    var cmd = oleDbConnection.CreateCommand();

    cmd.CommandText = "select * from [WorkSheet$] where ID>=1500";

    OleDbDataAdapter da = new OleDbDataAdapter(cmd);

    DataTable dt = new DataTable();

    da.Fill(dt);

Любая помощь будет оценена.

С уважением Ахсан Икбал

1 Ответ

0 голосов
/ 04 августа 2011

изменить строку подключения на

string excelConString = @"Provider=Microsoft.Jet.OLEDB.4.0;
                          Data Source=D:\A.xls;
                          Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text"""
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...