我有一個從excel工作表中取得數據並填充數據表的excel導入器。 當單元格實際包含「3.4」時,我的函數返回一個類似「1/3/1900 9:36:00 AM」的值 整個Excel工作表被格式化爲「文本」,並且由於某些客戶端而無法更改格式限制。Excel中的返回日期而不是Excel中的值
我的樣本函數:
DataRow dataRow = table.Rows[i];
B= new B();
string value = (dataRow[index] != null) && (!dataRow[index].ToString().Trim().Equals("NA")) ? dataRow[index].ToString().Trim() : null;
A= (value != null && value.Length!=0) ? value : A;
B.Name = A;
value = (dataRow[++index] != null) && (!dataRow[index].ToString().ToString().Trim().Equals("NA")) ? dataRow[index].ToString().Trim() : null;
B.Name += " " + value;
連接字符串是
string strConnect = "Provider=Microsoft.ACE.OLEDB.12.0;"
+ "Data Source='" + filePath + "';"
+ "Extended Properties='Excel 12.0;HDR=No;IMEX=1;'";
我使用IMEX = 1,甚至隨後還我無法找出確切的錯誤。從Excel工作表
----------
Returning -------- Ideally should return
1/3/1900 9:36:00 AM ---------->> 3.4
1/3/1900 12:00:00 PM ---------->> 3.5
1/4/1900 2:24:00 AM ---------->> 4.1.1
1/4/1900 2:24:00 AM ---------->> 4.1.2
1/4/1900 2:24:00 AM ---------->> 4.1.3
1/4/1900 4:48:00 ------------>> 4.2
樣品,其中A欄是象下面這樣:
2013年5月16日
上午09時14分00秒 帕拉。
3.1
3.2
3.3
3.4
3.5
4.1
4.1.1
4.1.2
4.1.3
4.2
4.3
5.1
5.1.1
5.1.2
「我的函數正在返回一個值」哪個函數?那裏有什麼代碼? 'IMEX = 1'被假設爲將所有數據視爲文本,所以我很困惑爲什麼3.4被翻譯成日期/時間。 –
嗨Stanley,作爲Index 0的excel表欄1如同一個數據在其他時間休息時爲3.1,3.2,3.3,3.4 excel的樣本爲:5/16/2013 12:14 :00 AM Para。 3.1 3.2 3.3 3.4 3.5 4.1 4.1.1 4.1.2 4.1.3 4.2 – suu
你可以添加到這個問題,以便它可以正確格式化? –