将C#datetime对象转换为Excel日期格式

时间:2016-10-26 14:06:26

标签: c# excel csv datetime

我需要将C#datetime对象转换为可怕的Excel日期格式: https://datapub.cdlib.org/2014/04/10/abandon-all-hope-ye-who-enter-dates-in-excel/

即。自1900年1月1日以来的天数表示为浮点数。

有没有办法不借助DIY代码? 我需要它来创建Excel友好的CSV导出

谷歌搜索我没有找到任何有用的,除了好的博客文章

2 个答案:

答案 0 :(得分:7)

Excel日期使用OLE自动化日期格式。您可以使用DateTime.ToOADate

检索它

OA日期是一个双倍,其整数部分是从1899年12月30日开始的日期偏移(即早期日期为负数),小数部分是时间除以24。

这种类型在COM / VB6天使用了很多。如今,Excel需要它,并且当您需要调用期望日期或具有日期内容的变体的COM API时。

答案 1 :(得分:2)

您可以使用以下方法将Excel Date转换回C#DateTime

return DateTime.FromOADate(SerialDate);