小编Edw*_*uth的帖子

确定 xlsx 单元格是否为 Excel 2007 电子表格的日期格式

我正在处理一些通过解析 xml 从 xlsx 文件读取数据的代码。除了日期单元格之外,一切都非常简单。

日期存储为整数,并有一个“s”属性,它是样式表的索引,可用于获取日期格式字符串。以下是之前 stackoverflow 问题中的一些示例,链接如下:

19 = 'h:mm:ss 上午/下午';

20 = 'h:mm';

21 = 'h:mm:ss';

22 = 'm/d/yy h:mm';

这些是来自 ooxml 标准的内置日期格式字符串,但是似乎 excel 倾向于使用自定义格式字符串而不是内置字符串。这是来自 Excel 2007 电子表格的示例格式。numFmtId 大于 164 是自定义格式。

<numFmt formatCode="MM/DD/YY" numFmtId="165"/>
Run Code Online (Sandbox Code Playgroud)

确定单元格是否应该格式化为日期很困难,因为我能找到的唯一指标是 formatCode。这显然是一个日期,但可以通过多种方式对单元格进行格式化。我最初的尝试是在 formatCode 中查找 Ms、Ds 和 Ys,但这似乎有问题。

有没有人有这个问题的运气?目前似乎标准 excel 阅读库缺乏 xlsx 支持。我已经通读了标准,并在没有多少运气的情况下挖掘了很多 xlsx 文件。

最好的信息似乎来自这个 stackoverflow 问题:

什么表示办公室打开的 xml 单元格包含日期时间值

谢谢!

python excel openxml xlsx

2
推荐指数
1
解决办法
3635
查看次数

标签 统计

excel ×1

openxml ×1

python ×1

xlsx ×1