2013-03-28 73 views
0

我確實有一個帶有日期時間格式列Call_Date的xls文件。閱讀具有日期格式的Xls文件列

我想讀取這個文件,並把它與連接字符串屬性HDR =沒有即數據表。我想沒有標題行讀取它的數據表。

我在數據表中獲得的第一行是xls中的列的名稱,除了call_date在第一行中具有空字符串。

我可以理解,OLEDB可能會嘗試讀取它作爲日期時間格式,並將其作爲空字符串與類型=「System.DBNull」如果不能解析爲日期時間。

但我需要像其他人一樣在第一行數據表中有這個call_date列名。

我無法更改xls中的格式。我可以在c#或其他內容中閱讀嗎?

到目前爲止我的代碼

 mCon.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;data source=" + openFileDialog1.FileName + ";Extended Properties=\"Excel 12.0;HDR=NO\";"); 
     strSelectQuery = "SELECT TOP 20 * FROM [Sheet1$]"; 
     if (mCon.State == ConnectionState.Closed) 
     { 
      mCon.Open(); 
     } 
     DataAdapter = new System.Data.OleDb.OleDbDataAdapter(strSelectQuery, mCon); 
     DataAdapter.Fill(mDTable); 
     mCon.Close(); 
+0

任何建議..我m到處困在這裏.. – 2013-03-28 07:21:02

回答

0

我自己在互聯網上搜索這個話題花費數小時後解決了這個問題。

我剛剛修改了我的連接字符串,以允許OLEDB通過在擴展屬性中添加IMEX = 1來讀取一列中具有多個數據類型條目的excel文件。

我的連接字符串現在看起來

mCon.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;data source=" + openFileDialog1.FileName + ";Extended Properties=\"Excel 12.0;HDR=NO;IMEX = 1\";");