0

全部,

在 .NET 中,我使用 ClosedXML 读取上传的 Excel 文件并将单元格转换为二维字符串数组。最终目标是修改某些单元格并将修改后的单元格显示给用户。

我目前无法处理存储 DateTime 值的单元格。奇怪的是,当我读取单元格的数据类型时,它返回 XLCellValues.Number(不是 XLCellValues.DateTime,这是我所期望的)。我发现 Excel 实际上将 DateTimes 存储为双精度数据,其中包含一些元数据,表示将其转换为日期,这可能解释了该问题。

我想知道是否有人知道使用 ClosedXML 来检查 Excel 单元格的值是否为 DateTime 类型的方法?如果是这样,我如何将该值转换为 .NET DateTime?

谢谢!

4

1 回答 1

0

如果不查看您的文件,我会说最可能的原因是单元格确实包含一个数字,然后将其格式化为日期。这在 Excel 中完全有效,实际上所有日期都存储为数字。

使用以下命令检查单元格是否包含日期:

DateTime date;
if (cell.TryGetValue(out date))
{
    // Got a date
}
于 2013-04-20T23:13:26.373 回答