2012-01-18 79 views
-1

我想將excel導入到我的數據庫。但是現在我在從excel文件導入數據時遇到了一個非常奇怪的問題。從Excel文件導入數據到dataTable.DataTable返回空列

下面是Excel中的畫面拍攝文件

enter image description here

其實我是想品牌的列導入到我的database.I可以導入那些AW08到DataTable記錄,但是當記錄爲時,數據表返回空列。另一方面品牌的格式爲通用類型

這裏是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

你好,整列的格式是** general **。我試着擦除2006年並再次填寫欄中的文本。然後,我將列更改爲**文本**,現在它可以工作,它是一般類型的格式,不適用於2006年等數字?順便說一下,如果沒有手動更改記錄,還有其他更好的解決方案嗎?因爲我可能會導入大量的數據 – user998405 2012-01-18 04:43:31

+0

@ user998405:所以我期望改變格式的竅門。我建議你將列格式設置爲TEXT(因爲它可以容納任何類型的數據並反映你給定的情況)。將此Excel電子表格保存爲模板並將其傳遞給使用它的人員。 – 2012-01-18 04:52:10