从Excel文件导入数据到dataTable.DataTable返回空列

从Excel文件导入数据到dataTable.DataTable返回空列

问题描述:

我想将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); 

有谁之前面对这个问题?

也许您的问题与应用于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