1

我正在制作一个在 C# 中使用 OpenXML 来读取 excel 文件的库。我可以很好地阅读单元格文本和数字,但是在日期方面存在问题。单元格有“日期”类型,但显然 Excel 2007 不保存该类型的日期,所以我无法判断我正在读取的值是否是日期,而是似乎使用样式。

我如何检测它是否是日期并返回它的字符串表示形式(例如:29-12-2010)?

4

1 回答 1

4

Excel 将日期存储为浮点值...整数部分是自 1900 年 1 月 1 日以来的天数(或 1904 年 1 月 1 日,具体取决于所使用的日历),小数部分是一天的比例(即时间部分)......由于1900年被认为是闰年,所以有点尴尬。

唯一将数据与数字区分开来的是数字格式掩码。如果您可以读取格式掩码,则可以使用它将值标识为日期而不是数字......然后从基准日期计算日期值/格式。

于 2010-12-29T11:30:35.807 回答