2013-11-02 33 views
0

我正在將數據從excel導入到SQL表中。 Excel中的日期格式爲20090109,導入後數據以2.00901e + 007格式存儲。linq中的日期格式問題

在sql查詢中,它以正確的格式返回日期。但在linq 2.00901e + 007格式不起作用。

如何將2.00901e + 007更改爲ddMMyyyy?

+0

你是如何導入數據? – Magnus

回答

0

您得到正確的值。您的問題是Excel單元格格式。 Excel認爲'20090109'是一個數字,然後將其轉換爲exp格式:2.00901e + 007。

您可以設置Excel單元格的格式爲文本:

worksheet.get_Range("A1").NumberFormat = "@"; 

或者你可以把'在添加到Excel之前,你的電話號碼前面。

如果您不想將excel格式設置爲文本格式,請將您的sql返回值轉換爲DateTime。設置單元格數字格式"ddMMyyyy"

更正:

對不起,我的誤解。我假設你將數據從SQL導入Excel。似乎你不會將從Excel中讀取的值轉換爲DateTime。

string Value = "Value read from Excel"; 
DateTime dt = DateTime.ParseExact(Value, "ddMMyyyy", null); 

然後,您可以使用DateTime值進入SQL:

dt.ToString("ddMMyyyy") 
+0

我覺得OP不想導入INTO excel,但是從Excel INTO一個sql表格 – Marco

+0

@Serv:你說得對。我編輯了答案。感謝您的糾正。 – Demir