【问题标题】:Excel Date field value differs from c# dateTime by 1 day while reading excel file with EEPlus使用 EEPlus 读取 excel 文件时,Excel 日期字段值与 c# dateTime 相差 1 天
【发布时间】:2013-11-23 18:41:11
【问题描述】:

我在使用 EEPlus 库从 excel (.xlsx) 文件中获取正确的日期字段值时遇到问题。

特别的问题是在excel中我有例如1900.01.04,但在 C# 中我得到 1900.01.03。

我有一个想法,当我从 excel 中读取日期值时,它 (EEPlus) 将其转换为 utc,我应该将其转换为本地时区,但由于日期对象的时间值为零,因此可能并非如此。

var date = (DateTime) Worksheet.Cells[row, column].Value;

谢谢!

【问题讨论】:

  • 如果有任何变化,请尝试将其更改为:var date = Worksheet.Cells[row, column].GetValue();

标签: c# excel date xlsx


【解决方案1】:

如果 EEPlus 日期与 Excel 日期不同,则可能是 EEPlus 中的错误。

很可能是 infamous Excel 1900 leap year bug,但仅适用于 1900 年 2 月 29 日(!!)之后的日期。

【讨论】:

  • EEPlus 没有错误,Excel 有。 - 由于您提到的错误导致日期无效,导致 1900 年 3 月 1 日之前一天的日期将无效(1900 年 2 月 29 日)或一天结束
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-30
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多