所有
在.NET中,我使用ClosedXML读取上传的Excel文件并将单元格转换为2D字符串数组。最终目标是修改某些单元格并将修改后的单元格显示给用户。
我目前无法处理存储DateTime值的单元格。奇怪的是,当我读取单元格的数据类型时,它返回XLCellValues.Number(不是XLCellValues.DateTime,这是我所期望的)。我发现Excel实际上将DateTimes存储为双精度数据,并将一些元数据转换为日期,这可能解释了这个问题。
我想知道是否有人知道某种方法,使用ClosedXML来检查Excel单元格的值是否为DateTime类型?如果是这样,我如何将该值转换为.NET DateTime?
谢谢!
答案 0 :(得分:0)
如果不查看您的文件,我会说最可能的原因是该单元格确实包含一个数字,然后将其格式化为日期。这在Excel中完全有效,实际上所有日期都存储为数字。
使用以下内容检查单元格是否包含日期:
DateTime date;
if (cell.TryGetValue(out date))
{
// Got a date
}