YamlBox

数据转换器 · 6 分钟阅读

Excel 到JSON:将工作簿转变为结构化数据

Excel 到 JSON 的转换通常是将电子表格数据导入应用程序、测试装置或电子表格驱动的网站的第一步。尴尬的是,工作簿是一个丰富的文档——公式、格式、多张工作表、以数字形式存储的日期——而 JSON 是纯数据。了解它们之间的四个中断可以避免很多混乱的调试。

已更新

XLSX 文件实际上是什么

`.xlsx` 文件是 XML 部分的 ZIP 存档:工作表、共享字符串、样式和关系。这就是为什么转换器可以直接在浏览器中读取它,而无需安装软件 - 它会解压缩、解析工作表 XML 并将行重建为对象。它还解释了为什么`.xls`(较旧的二进制格式)需要不同的代码路径,以及为什么`.csv`导出会丢失除值之外的所有内容。

标题成为键,公式成为值

与CSV 一样,第一个非空行提供属性名称。公式是一个有趣的情况:包含 `=B2*C2` 的单元格同时具有公式和缓存结果,转换器会读取缓存值,因为这就是工作簿显示的内容。如果在其他地方计算了公式,请先在 Excel 中打开文件 - 由从未计算过公式的工具保存的工作簿可能会携带陈旧或丢失的缓存。

日期陷阱

Excel 将日期存储为序列号(自 1899 年 12 月 30 日以来的天数),显示值取决于单元格的数字格式,该格式位于不同的 XML 部分中。忽略格式的转换器为您提供帮助`45231`11 月 10 日,相信格式的人可能会将明文数字的账本误读为日期。这是最常见的 Excel 到 JSON 投诉,因此在移植任何内容之前,请根据工作表检查输出中的一个已知日期。

多工作表工作簿:预先决定是否只需要第一张工作表,还是需要按工作表名称键入的 JSON 对象。财务模型通常将参考数据保留在第二张纸上,并且仅转换活动的数据会默默地丢弃它。

转换前清理网格

  • 删除合并的单元格 - 它们映射到一个值和一系列空白,这很少是消费者所期望的。
  • 删除标题行和总计行,以便表从其标题开始并在其最后一个数据行结束。
  • 使标题独特且不含标点符号;它们成为属性名称。
  • 故意标准化空单元格:空单元格意味着不存在、未知或零,JSON 区分这三者。

在本地进行的隐私争论

电子表格是组织保存工资单、定价、客户列表和预测的地方。将工作簿上传到转换网站以取回 JSON 是一项没人需要做出的数据处理决策:YamlBox Excel 到 JSON 转换器会在浏览器中解析 XLSX,因此文件永远不会离开计算机,并且可以在网络断开的情况下工作。

Excel 至 JSON — 常见问题

为什么我的 Excel 日期显示为 45231 等数字?

Excel 将日期存储为从 1900 纪元开始的天数,并单独保留显示格式。如果转换器看不到单元格格式,它将返回原始序列。在工作表中将列格式设置为 ISO 日期,或自行将数字转换为 1899-12-30 纪元。

我可以转换包含多个工作表的工作簿吗?

是的。决定是否需要一张工作表或全部工作表 - 多工作表输出通常是按工作表名称键入的 JSON 对象,而单工作表输出是行对象数组。参考表是仅转换第一个参考表的常见受害者。

将 XLSX 转换为 JSON 是否会将我的电子表格上传到任何地方?

不能使用基于浏览器的工具。工作簿在页面内解压缩和解析,因此机密数据永远不会离开您的设备 - 并且转换仍然可以离线进行,这就是该主张的证明。

这篇文章中提到的工具

浏览 19 工具的完整列表

更多文章可供阅读

所有19帖子→