0

我正在将数据从 excel 导入 SQL 表。excel中的日期格式为20090109,导入后数据存储为2.00901e+007这种格式。

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

如何将 2.00901e+007 更改为 ddMMyyyy?

4

1 回答 1

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")
于 2013-11-06T08:41:33.650 回答