我正在將數據從excel導入到SQL表中。 Excel中的日期格式爲20090109,導入後數據以2.00901e + 007格式存儲。linq中的日期格式問題
在sql查詢中,它以正確的格式返回日期。但在linq 2.00901e + 007格式不起作用。
如何將2.00901e + 007更改爲ddMMyyyy?
我正在將數據從excel導入到SQL表中。 Excel中的日期格式爲20090109,導入後數據以2.00901e + 007格式存儲。linq中的日期格式問題
在sql查詢中,它以正確的格式返回日期。但在linq 2.00901e + 007格式不起作用。
如何將2.00901e + 007更改爲ddMMyyyy?
您得到正確的值。您的問題是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")
你是如何導入數據? – Magnus