c# - 使用 OpenXML 从 Excel 文件中读取日期

标签 c# excel openxml openxml-sdk

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

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

最佳答案

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

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

关于c# - 使用 OpenXML 从 Excel 文件中读取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4553262/

相关文章:

c# - 使用 Open XML 插入工作表 - "...unreadable content..."

c# - 为 FlatOPC 使用 System.IO.Packaging

c# - 用户代码未处理实体异常

vba - 如何使用 VBA 代码在 Excel VBA 的单元格中找到一个单词并将其设置为红色(仅该单词而不是整个单元格)?

excel - 数据透视图按值排序

sql-server - Excel 排名与 SQL 排名

nuget - 如何确保OpenXml程序集不会与SpreadsheetLight发生冲突?

c# - XAML 样式属性未被继承

c# - 使用 Lookahead 使用正则表达式匹配字符串

c# - OfType<> 与 NHibernate Proxy 类不能很好地配合