首页 > 解决方案 > 使用 Linux perl 程序提取包含特定语言日期值的 Office Open XML 单元格

问题描述

我正在尝试使用 perl 读取包含日期的 Excel 文件(2007+ 格式,它是一个包含一堆 xml 文件的 zip 文件)。

我可以通过分析给定的 xml 工作表文件 sheet(x).xml (x=1,2,3,...,n) 以及日期格式所在的文件 styles.xml 来提取定义格式的日期信息存储。

但是,我遇到的问题与特定类型的日期格式有关。我正在阅读的日期包含日期和月份名称,这就是我遇到问题的地方。我在任何内部 xml 文件中都找不到任何信息来告诉我文件保存在哪种语言中。因此,我无法使用我的 perl 程序以所需语言读取/复制具有给定月份和日期值的日期格式显示在 Excel 中!

那么,有什么方法可以确定保存 Excel 文件的语言,或者使用 perl 程序重现我在 Excel 中看到的值的另一种方法?

使用法语版本的 Excel,我注意到以下格式保存在我正在分析的 Excel 文件的 style.xml 文件中:

<numFmt numFmtId="171" formatCode="[$-F400]h:mm:ss\ AM/PM"/>

<numFmt numFmtId="176" formatCode="[$-809]dd\ mmmm\ yyyy;@"/>

相关联的格式化单元格条目是:

1900 年 1 月 1 日迪曼奇

1900 年 1 月 1 日

那么,该国家/地区的代码是否在值 "[$-F400]" 和 "[$-809]" 中的某个位置?如果有,在 Open XML 文件格式定义中的某处是否有这些代码及其相关国家/地区值的列表?我已扫描文档

Ecma Office Open XML 第 1 部分 - 基础和标记语言参考与 ANT 书签 1

但没有找到任何信息

标签: xmlperl

解决方案


推荐阅读