Excel 中不同区域设置的数字格式 (OOXML)

问题描述 投票:0回答:1

在 ISO/IEC 29500-1 第 1 部分第 18.8.30 节中,文档向我们展示了 excel 使用的内置 numFmt(数字格式),其格式代码是隐含的且未显式存储。

这些格式代码是为 en-US 区域设置提供的。

我们在哪里可以找到其余语言环境的格式代码?

例如:numFmtId 14 - m/d/yy(在 en-US 语言环境中)和 - yyyy/m/d(在 ja-JP 语言环境中)

可以通过不同区域设置中的所有隐含数字格式注意到这种变化行为。有时会有语言差异,有时某些字符大小写差异等

我正在开发一个解析应用程序,它允许导入 Excel 文件并显示文件中存在的信息。该应用程序是在C++平台上。

有没有办法跟踪所有这些更改并拥有所有区域设置和使用的格式的完整列表?

我已经阅读了 ISO/IEC 29500、MS-XLSX、MS-OI29500 文档的所有 4 个部分。答案可能就在其中之一,我可能错过了,但我认为这不太可能。

我想知道在与原始语言不同的语言环境中打开时如何格式化给定的内置格式。 (我在 en-US 语言环境中创建了一个工作簿,其日期为 numFmtId = 14。如果我在 ja-JP 语言环境中打开此工作簿,字符串的格式将会更改。我想知道如何将格式更改为新的语言环境以便根据区域设置日期的格式正确。文档仅给出 en-US 区域设置的格式规则)

excel ms-office openxml number-formatting date-formatting
1个回答
0
投票

Excel numFormatId: 14 被定义为“短日期”格式,这是操作系统级别的设置。

例如,以下是瑞典日期和时间格式的操作系统设置: Region settings screenshot, Swedish, Win11

类似地 id:15 对应于“长日期”格式。

当然,对于各种语言/地区来说,确实存在默认值 - 但是要获得任何特定机器的最准确结果,您必须询问操作系统。

© www.soinside.com 2019 - 2024. All rights reserved.