2011-08-04 16 views
0

私は、ado.netを通じてデータテーブルのデータを読み出すコードを書いています。今、私は奇妙な動作を見たことがあります.msecの列データ型は一般的に指定されていますが、その特定の列のExcelの第1行にテキストが含まれている場合、ado.netはその特定の列の数値を読み取ることができません。 1行目に数値情報が含まれていると、ado.netはその特定の列のテキストデータを読み取ることができません。ここでは、私はExcelからデータを読み取るために使用しているコードです。.netでMS 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); 

助けてください。

よろしく アザン・イクボール

+0

にごれたconnectionStringあなたが追加したことがありますMAXSCANROWS =接続文字列での拡張プロパティを0? – patmortech

答えて

0

変更は

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""" 
+0

は問題を解決しません –

+0

私はまだ編集中でした - IMEX = 1を含めて試しましたか? – Yahia

+0

ya私もそれを試してみましたが、問題を解決しません。 –

関連する問題