在涉及日期时,使用LinqToExcel读取Excel电子表格时遇到问题

时间:2017-11-28 22:51:14

标签: c# excel date linq-to-excel

我的人力资源部门提供的Excel电子表格需要加载到数据库中。其中一列有日期。我在这里搜索了SO,找到了2个答案(first onesecond one),我认为这些答案可以解决我的问题,但两者都没有。

首先,我尝试简单地打开电子表格:

var excel = new ExcelQueryFactory(@"D:\Projects\LRAT\Example of SPO report 08-25-17 - Copy.xlsx");

我独自离开了第一排。在我定义的与电子表格匹配的类中,我为最初的日期定义了属性:

[ExcelColumn("Date Current Step Filed")]
[DefaultValue("")]
public string DateStepsFiled { get; set; }

这有效,只要列中有多个日期。但是当只有1个日期时,LinqToExcel会用这样的值解释它:39758。显然,不是在约会。或者至少不是mm / dd / yyyy格式的。

在阅读我所做的工作时,我得到的印象是第一行(通常是标题行)影响了LinqToExcel处理电子表格的方式。我不太理解,因为我认为LinqToExcel无论如何都忽略了第一行,但我决定将此列的标题更改为今天的日期,我还将DateStepsFiled的定义更改为:< / p>

[ExcelColumn("Date Current Step Filed")]
[DefaultValue("")]
public DateTime[] DateStepsFiled { get; set; }

这更糟糕,因为LinqToExcel现在将所有DateStepsFiled定义为null。那么,我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

应该是

public DateTime DateStepsFiled { get; set; }

而不是

public DateTime[] DateStepsFiled { get; set; }