什么表明 Office Open XML 单元格包含日期/时间值?

2023-12-04

我正在使用以下命令读取 .xlsx 文件Office 开放 XML SDK并且对读取日期/时间值感到困惑。我的一个电子表格有此标记(由 Excel 2010 生成)

<x:row r="2" spans="1:22" xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
  <x:c r="A2" t="s">
    <x:v>56</x:v>
  </x:c>
  <x:c r="B2" t="s">
    <x:v>64</x:v>
  </x:c>
  .
  .
  .
  <x:c r="J2" s="9">
    <x:v>17145</x:v>
  </x:c>

单元格 J2 中有一个日期序列值和一个样式属性s="9"。然而,Office Open XML 规范表示 9 对应于后面的超链接。这是第 4,999 页的屏幕截图ECMA-376,第二版,第 1 部分 - 基础知识和标记语言参考.pdf.

alt text

规范中包含的presetCellStyles.xml 文件还引用了builtinId9 作为后续超链接。

<followedHyperlink builtinId="9">

规范中的所有样式都只是视觉格式样式,而不是数字样式。数字样式在哪里定义以及如何区分样式引用s="9"指示单元格格式(视觉)样式与数字样式?

显然,我在错误的位置寻找将单元格上的样式与其数字格式相匹配的位置。在哪里可以找到此信息?


s 属性引用 styles.xml 中的 style xf 条目。样式 xf 又引用数字格式掩码。要识别包含日期的单元格,您需要执行样式 xf -> numberformat 查找,然后识别该数字格式掩码是否是日期/时间数字格式掩码(而不是百分比或会计数字格式掩码)。

style.xml 文件包含以下元素:

<xf numFmtId="14" ... applyNumberFormat="1" />
<xf numFmtId="1" ... applyNumberFormat="1" />

这些是 xf 条目,它们反过来为您提供引用数字格式掩码的 numFmtId。

您应该在 style.xml 顶部附近找到 numFmts 部分,作为 styleSheet 元素的一部分

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
    <styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
        <numFmts count="3">
            <numFmt numFmtId="164" formatCode="[$-414]mmmm\ yyyy;@" /> 
            <numFmt numFmtId="165" formatCode="0.000" /> 
            <numFmt numFmtId="166" formatCode="#,##0.000" /> 
        </numFmts>

数字格式id可能在这里,也可能是内置格式之一。小于 164 的数字格式代码 (numFmtId) 是“内置”的。

我的清单不完整:

0 = 'General';
1 = '0';
2 = '0.00';
3 = '#,##0';
4 = '#,##0.00';

9 = '0%';
10 = '0.00%';
11 = '0.00E+00';
12 = '# ?/?';
13 = '# ??/??';
14 = 'mm-dd-yy';
15 = 'd-mmm-yy';
16 = 'd-mmm';
17 = 'mmm-yy';
18 = 'h:mm AM/PM';
19 = 'h:mm:ss AM/PM';
20 = 'h:mm';
21 = 'h:mm:ss';
22 = 'm/d/yy h:mm';

37 = '#,##0 ;(#,##0)';
38 = '#,##0 ;[Red](#,##0)';
39 = '#,##0.00;(#,##0.00)';
40 = '#,##0.00;[Red](#,##0.00)';

44 = '_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)';
45 = 'mm:ss';
46 = '[h]:mm:ss';
47 = 'mmss.0';
48 = '##0.0E+0';
49 = '@';

27 = '[$-404]e/m/d';
30 = 'm/d/yy';
36 = '[$-404]e/m/d';
50 = '[$-404]e/m/d';
57 = '[$-404]e/m/d';

59 = 't0';
60 = 't0.00';
61 = 't#,##0';
62 = 't#,##0.00';
67 = 't0%';
68 = 't0.00%';
69 = 't# ?/?';
70 = 't# ??/??';

缺失值主要与东亚变体格式有关。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么表明 Office Open XML 单元格包含日期/时间值? 的相关文章

  • Pandas - 分割大的Excel文件

    我有一个大约有 500 000 行的 Excel 文件 我想将其拆分为多个 Excel 文件 每个文件有 50 000 行 我想用熊猫来做 这样它会是最快和最简单的 有什么想法如何制作吗 感谢您的帮助 假设您的 Excel 文件只有一个 第
  • 以编程方式创建验证列表

    我有一组从外部源进入 VBA 代码的数据 我希望能够分配该数据以用作此工作簿中一张工作表的单元格下拉框中的验证 但是 我不想将该数据复制到工作表中 然后使用命名范围 可能有相当多的数据 而且这感觉不是很有效 我确信一定有办法 但我还没有找到
  • 哪个正则表达式能够在 C# 公式中选择 Excel 列名称?

    我需要在 C 中实现 Excel 公式自动填充 假设这个公式位于 B100 SUM B 99 B99 我想让这个公式在 C100 时有所不同 SUM B 99 C99 该公式仅是一个示例 一些真实的例子是 SUM B 0 B 0 SUM 1
  • Python仅读取Excel单元格中的公式

    我有一个 Excel 2010 文件 其中包含带有公式的单元格 请参阅下面公式栏中的 C2 下面截图1 我正在使用 python 读取值 它打印的是公式而不是单元格的实际值 下面的 eclipse 控制台的屏幕截图 我希望结果打印 10 1
  • 从 Excel 中的范围中提取唯一值

    下午好 I would like to extract the unique value from my range in Excel This value will shift between the columns in this ra
  • 检查excel 2010 vba中是否存在目录

    我正在让用户输入一些信息MyBarcode and MyScan将用于创建目录 如果该目录存在 我想显示一条指示该目录的消息 然后返回到用户可以输入数据的步骤 这vba位于下面 除了我需要一些帮助的目录检查之外 似乎可以正常工作 我希望这是
  • 基于另一个选择列表动态更新选择列表

    我想根据另一个中的用户选择填充下拉列表 在网上找不到任何与之相关的内容 我有一本名为查找部门包含下表 A B BS Business School CG Chemical Engineering where column A有定义的名称de
  • OpenFileDialog 无法加载 CSV 文件,但可以加载 xls/xlsx Excel 文件 [重复]

    这个问题在这里已经有答案了 在我的 Windows 窗体应用程序中加载 Excel 文件时 我可以加载 xls and xlsx格式很好 但是当我选择一个 CSV我收到以下错误 System NullReferenceException 未
  • 查找字典中某个项目对应的键

    有什么方法可以找到与 VBA 字典中给定项目相对应的键吗 http msdn microsoft com en us library aa164502 28v office 10 29 aspx http msdn microsoft co
  • Python win32com 使用 Bloomberg 插件打开 Excel

    我正在尝试自动构建 Excel 2007 电子表格 该电子表格使用 Bloomberg 插件来降低实时价格 问题是 当我通过 win32com 打开 Excel 时 Bloomberg 插件不会加载 因此所有公式最终都会出现 NAME 错误
  • 使用 win32com 访问 Excel 文件的问题

    每个人 我一直在 Python 中使用 win32com client 模块来访问包含 VBA 宏的 Excel 文件的单元格 代码中的一个声明 xl win32com client gencache EnsureDispatch Exce
  • 当格式为 EXCEL 时,SSRS 2014 URL 访问始终生成 XLS 而不是 XLSX

    我有 SQL Server 2014 我正在尝试通过 URL 访问来访问我的报告 据我了解 Excel 格式应该为我提供一个支持无限行数的 XLSX 文件 然而 在查看日志文件后 我注意到对于任何超过 65536 行的报告 我都收到了最大行
  • 运行时错误“1004”:工作表类的粘贴方法失败错误

    使用 VBA 将 1 行文本从 Word 复制粘贴到 Excel 当代码到达下面的行时 我收到以下错误 ActiveSheet Paste 运行时错误 1004 工作表类的粘贴方法失败错误 But 如果我单击 调试 按钮并按 F8 则会粘贴
  • 运行delphi客户端自动化程序后excel.exe保持加载状态的原因是什么?

    我编写了一个 Delphi 程序 该程序从单个 XLS 文件的多个不同电子表格中提取数据并将其合并到文本文件中以供以后处理 这是德尔福7console程序 最相关的代码片段的摘录将向您表明 显然 我的程序表现得相当好 或者至少达到了它需要的
  • 给定 A 列中的值,在 EXCEL 中查找 B 列中的最小值/最大值

    我有一列公交车站 ID 号 A 列 B 列是不同的时间 其中每个值都是一个人上 下车的时间 为了知道公交车停了多长时间 我想在给定 A 的某个值的情况下找到 B 列中的最大值 最小值之间的差异 84009 9 17 38 AM 84009
  • django pandas dataframe 下载为 Excel 文件

    我有一个 Django 应用程序 将放置在 Docker 容器中 该应用程序以 Dataframe 格式准备数据 我想允许用户将数据作为 Excel 文件下载到他 她的本地驱动器 我过去使用过 df to excel 但这在这种情况下不起作
  • 将 Dir 与旧文件后缀一起使用

    最近问的一个question https stackoverflow com questions 68282702包括代码 strFilename Dir fPath xls 它 成功 用于查找以xls and xlsx 我的问题是 为什么
  • Excel VBA 更改命令按钮的颜色

    我在更改颜色时遇到问题CommandButton 在电子表格中 我添加设计按钮作为表单或 ActiveX 然后在 VBA 中我尝试 Activesheet shapes CommandButton1 visible false 这个效果很好
  • VBA中如何四舍五入到小数点后两位?

    在单元格 B2 中 在进行计算之前 我的变量值为 297 123 在 VBA 中 我想将其四舍五入为 297 12 请参阅下面的代码了解我的尝试 两者都将燃油评估为 297 我做错了什么 Dim fuel As Integer Dim li
  • lxml 属性需要完整的命名空间

    下面的代码使用 lxml python 3 3 从 Excel 2003 XML 工作簿中读取表格 该代码工作正常 但是为了通过 get 方法访问 Data 元素的 Type 属性 我需要使用键 urn schemas microsoft

随机推荐

  • JQuery - 替换悬停时的图像

    我有一个图像文件夹 在这个文件夹中 我有两种类型的几张图像 一png和一个gif 显示的图像是png版本 在图像悬停时 我需要将其替换为它的gif版本 当悬停消失时 将png版本回到原位 我目前有以下有效的方法 image containe
  • 使用 Apps 脚本在 Gmail 中嵌入 Google 表单

    我正在尝试使用 Apps 脚本在电子邮件中嵌入预填写的表单 这些电子邮件只会发送给 Gmail 用户 我想要的功能与手动通过电子邮件发送表单时按 在电子邮件中包含表单 选项相同 我已经成功创建了prefilledUrl并使用UrlFetch
  • 将字符串格式转换为日期时间(mm/dd/yyyy)

    我必须将 mm dd yyyy 格式的字符串转换为日期时间变量 但它应保留 mm dd yyyy 格式 string strDate DateTime Now ToString MM dd yyyy 请帮忙 您正在寻找DateTime Pa
  • 递归clearInterval不起作用

    我在 javaScript 中有以下函数 当我检测到需要重新加载样式表时调用此函数 例如 用户语言发生变化 因此文本将不再适合按钮 问题是 它卡在了 setInterval 部分 无限地循环进入其中 我可以在 chrome 调试器中看到它确
  • 如何将镜头效果应用到我的 UIImage 上?

    我如何将镜头效果应用到我的 UIImage 上 如下所示http processing org learning topics lens html 您可以使用Cocos2D框架来做到这一点 如果您选择使用它 可以通过以下方法轻松应用镜头效果
  • to_sql 不适用于 update_attributes 或 .save

    我正在寻找一种方法来存储在更新或创建操作中生成的 sql 字符串 我尝试过附加 to sql到最后update attributes但它返回一个TrueClass错误 或类似的东西 我有什么遗漏的吗 简而言之 您需要重写 ActiveRec
  • 在 SwiftUI 中处理派生状态

    假设我正在创建一个 日期编辑器 视图 目标是 采用默认的种子日期 它允许用户更改输入 如果用户随后选择 他们可以按 保存 在这种情况下 视图的所有者可以决定对数据执行某些操作 这是实现它的一种方法 struct AlarmEditor Vi
  • SQL 中的查询设计实践

    我正在 MS Access 2007 中构建数据库查询 我想知道我当前的设计实践是否达到标准 基本上 数据库在我来之前就已经配置好了 但我被赋予了构建有效查询来提取数据的责任 我当前的查询小而简单 每个查询一次完成 2 3 个任务 有时仅
  • Google OAuth2 - isAccessTokenExpired() 始终为 true

    我在应用程序中使用 OAuth 并且希望在访问令牌过期时注销用户 但是当我检查令牌过期时 client gt isAccessTokenExpired 它总是返回 1 if isset GET logout unset SESSION to
  • 是否可以导出 Google Apps 脚本执行记录

    我编写了一个 Web 应用程序脚本 该脚本被部署为在用户访问 Web 应用程序的上下文中运行 是否可以以编程方式导出 Web Apps 脚本执行脚本 不直接 您不会获得完整的堆栈跟踪 但您可以仔细记录您想要通知的所有内容 在脚本的末尾 您可
  • Excel VBA 将关闭的工作簿作为值复制并粘贴到活动工作簿,Mac OS X

    我知道这是一种常见的查询类型 但在主动搜索后 我尚未找到针对我的特定实例的答案 我也是一个VBA新用户 所以请耐心等待 我想要将包含实时公式 范围 A1 HW6000 的整个数据表 HISTORY XLSM 中的 AllDATA 选项卡 从
  • 如何使用 Watir 访问 Shadow DOM 并与之交互?

    我需要访问此页面 chrome downloads 并检查文件是否已下载 但它是 Shadow DOM 我发现这篇文章如何使用 Selenium Webdriver 访问 DOM 元素 http jeremysklarsky github
  • HTML - 如何制作“阅读更多”按钮

    在我的网站上 我有我的博客 我希望每张卡片都有一个 阅读更多 按钮 我特别希望它只显示x折叠时显示单词 非字符 然后展开时显示整个文本 我不想有一个按钮可以转到另一个具有完整内容的页面 因为我正在使用自己构建的 CMS 它会自动从表单添加帖
  • 将鼠标悬停在 Raphaeljs 中的一组元素上

    我有一个只包含一个矩形的集合 var hoverTrigger this paper set var outline this paper rect outline attr hoverTrigger push outline this s
  • Blazor InputSelect 中显示第一个选项,但值为 null

    我在 Razor 组件中遇到了 InputSelect 元素的奇怪行为 在我的输入表单上 我有几个与模型 合作伙伴 绑定的字段 我以下拉选择的形式放置了其中一些字段 因为绑定字段的 PartnerCategory 值是 id 整数 所以我从
  • SSRS 导出到 Excel 隐藏/取消隐藏问题

    我有一份 SSRS 2008 报告 其中我必须隐藏一些列并导出到 Excel 导出到 Excel 后 要求规定这些列应该在 Excel 中取消隐藏 请建议一种方法来做到这一点 因为我听说这根本不可能 提前致谢 这是可以做到的 但我相信只有部
  • 使用 jQuery 在切换开关上旋转图像

    有问题的网站 http mtthwbsh com 我正在尝试创建一个可折叠的导航 在切换时 箭头指向上方 隐藏时指向下方 我一直在阅读有关使用 jQuery 旋转图像的内容 并发现这是我最好的资源 使用 jQuery 旋转图像 OnClic
  • 从Power BI导出百万行表克服了15万行的限制

    有没有办法克服 Power BI 导出 150k 行的最大限制 限制文档 https learn microsoft com en us power bi visuals power bi visualization export data
  • 使用 iOS NumberFormatter 将小数格式化为分数表示

    在 iOS 中 如何使用 NumberFormatter 将数字的小数部分格式化为其小数表示形式 例如我想格式化数字2 375 as 2 3 8 可以用 NumberFormatter 来完成吗 不 您需要实现您自己的 Rational F
  • 什么表明 Office Open XML 单元格包含日期/时间值?

    我正在使用以下命令读取 xlsx 文件Office 开放 XML SDK并且对读取日期 时间值感到困惑 我的一个电子表格有此标记 由 Excel 2010 生成