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

本文关键字:Excel 日期 格式 转换 datetime 对象 | 更新日期: 2023-09-27 18:15:08

我需要将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导出

我搜索了一下,没有发现任何有用的东西,除了好的博客文章

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

Excel日期使用OLE Automation日期格式。你可以用DateTime检索它。ToOADate

OA日期是一个双精度值,其整数部分是自1899年12月30日起的日期偏移量(即较早的日期是负数),小数部分是时间除以24。

此类型在COM/VB6天使用较多。现在,当您需要调用期望日期或具有日期内容的变体的COM api时,Excel需要它。

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

return DateTime.FromOADate(SerialDate);