我的人力资源部门提供的Excel电子表格需要加载到数据库中。其中一列有日期。我在这里搜索了SO,找到了2个答案(first one和second 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。那么,我该如何解决这个问题呢?
答案 0 :(得分:0)
应该是
public DateTime DateStepsFiled { get; set; }
而不是
public DateTime[] DateStepsFiled { get; set; }