我正在将数据从excel导入到SQL表中。 excel中的日期格式为20090109,导入后的数据以2.00901e + 007格式存储。
在sql查询中,它以正确的格式返回日期。但在linq 2.00901e + 007格式中无效。
如何将2.00901e + 007更改为ddMMyyyy?
答案 0 :(得分: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")