2012-01-18 6 views
-1

Excelをデータベースにインポートします。しかし、今私はExcelファイルからデータをインポートする際に非常に奇妙な問題を抱えています。ここでExcelファイルからデータをdataTable.DataTableにインポートする空の列を返す

は、Excelの画面撮影が

enter image description here

ファイルである私は実際に私のdatabase.Iにブランドの列をインポートしたいのdataTableにAW08であるそれらのレコードをインポートすることができますレコードがの場合、データテーブルは空の列を返します。一方、ブランドのフォーマットは一般タイプ

ですここでは

はここのdataTable

enter image description here

の画面の撮影は、私が

DataTable dtExcel = new DataTable(); 
      OleDbConnection conn = new OleDbConnection(strConn); 
      // Initialize an OleDbDataAdapter object. 

      conn.Open(); 
      OleDbCommand ocmd = new OleDbCommand("select * from [MenShoe $] ", conn); 
      // Initialize an OleDbDataAdapter object. 
      OleDbDataAdapter da = new OleDbDataAdapter("select * from [MenShoe $] ", conn); 
      // Fill the DataTable with data from the Excel spreadsheet. 
      da.Fill(dtExcel); 

コーディングされている誰もが前に、この問題に直面していますか?

答えて

0

おそらく、問題はBRAND列に適用されている書式の種類に関係しています。

AW08は文字列のように見え、2006は数字のように扱われます。それを見てみましょう。

Excelで列全体の書式を変更して、代わりにTEXTを使用して、インポートを再度テストしてください。

+0

こんにちは、列全体の形式は**一般**です。私は2006年を消して、列のテキストをもう一度書き込んでみてください。その後、私は**テキスト**として列を変更します。今それは働いています。それは一般的なタイプのフォーマットは、2006などの数字には不適切ではないですか?私は大量のデータをインポートするかもしれないので、 – user998405

+0

@ user998405:私はフォーマットを変更することが期待されたので、トリックでした。列形式をTEXTに設定することをお勧めします。これは、任意の種類のデータを保持し、指定された状況を反映できるためです。このExcelスプレッドシートをテンプレートとして保存し、誰かに渡します。 –

関連する問題