Excel 转 JSON 转换器

无需上传工作簿,即可将选定的 XLSX 或旧版 XLS 工作表转换为 JSON。为所有选定工作表选择同一套 JSON 结构以及表头、空白和数值规则,然后下载单个 JSON 文件或本地 ZIP。可见工作表默认已选中,Hidden 和 VeryHidden 工作表也会显示,供您有意选择。

如何将 Excel 转换为 JSON

  1. 1

    选择 Excel 工作簿

    选择一个不超过 20 MiB 的真实 XLSX 或二进制 XLS 文件。转换器会检查文件签名,而不仅是扩展名。

  2. 2

    选择工作表

    查看可见、Hidden 和 VeryHidden 工作表。选择一个或多个工作表;同一套 JSON 设置会应用于全部已选工作表。

  3. 3

    选择 JSON 规则

    可使用记录、矩阵、字典或分组记录。设置表头键、值类型以及空白单元格的表示方式。

  4. 4

    本地下载

    选择一张工作表时下载 JSON。选择多张工作表时,浏览器会将它们打包为 ZIP。

工作簿限制和支持的格式

此转换器读取 XLSX 和旧版二进制 XLS 工作簿。不接受 XLSM、XLSB、ODS 或 CSV 文件。浏览器会验证文件签名,因此仅将其他格式改名为 .xlsx.xls 并不起作用。

单个工作簿最大为 20 MiB,最多包含 100 张工作表,最多使用 200 万个单元格。转换器还会在读取前检查 XLSX 压缩包结构,并在输出超过 100 MiB 时停止生成。这样可避免损坏或异常巨大的工作簿造成无法控制的浏览器下载。

为选定工作表选择同一 JSON 结构

JSON 可以表示数组、对象、字符串、数字、布尔值和 null。合适的结构取决于读取文件的系统。RFC 8259 说明了 JSON 数据模型。

结构 第一行的用法 适用场景
对象数组 表头名称成为属性名称。 API fixture、应用数据以及多数基于记录的导入。
矩阵 第一行保留在数据中。 位置数据、紧凑表格和需要数组嵌套数组的工具。
字典 表头名称成为属性名称,选定的一列提供唯一键。 快速查找,例如从产品代码映射到产品记录。
分组数组 表头名称成为属性名称,选定的一列提供分组键。 按部门、国家或状态等字段分组的记录。

对象数组形式遵循 SheetJS 文档所述的默认行为:第一行提供表头。矩阵输出保留该行,因为它是数据而不是元数据。

对象、字典和分组输出都需要非空且唯一的表头行。字典输出还要求所选键列中的值唯一。规则不满足时,转换器会给出清晰错误并停止,而不是悄悄覆盖记录。若下游系统需要工作簿原有写法,您可以使用经过清理的属性键,也可以保留原样表头文本。

数值、日期和公式

启用类型推断后,电子表格中的数字和布尔值会保留为 JSON 数字和布尔值。若接收系统自行控制类型转换,也可以将值保留为字符串。空单元格可变为 null 或空字符串。超出 JavaScript 安全整数范围的整数会保留为字符串,以免数字被静默舍入。

只有当电子表格读取器识别单元格为日期时,日期单元格才会转换为 ISO 值。转换器不会猜测看起来像日期的文本就是日期。这一点对于订单号、版本标签和本地化日期文本等值很重要。

转换器不会执行或重新计算 Excel 公式。如有可用缓存,会使用公式的已缓存单元格值,而非其格式化后的显示结果。没有缓存值的公式遵循空值设置。

浏览器内转换和临时草稿

工作簿读取、JSON 生成、ZIP 创建和下载都在您的浏览器中完成。工作簿、工作表数据和生成的 JSON 不会上传,也不会发送到我们的服务器。

在多步骤流程中,已验证的工作簿可以作为经过哈希校验的临时草稿保存在此浏览器的 IndexedDB 中。URL 仅携带不透明的任务标识,不会包含文件名或工作表数值。草稿在 30 分钟后将无法再使用。重新开始或请求下载时,此工具会请求浏览器移除草稿;若无法确认已移除,会显示警告,提示您在离开共享设备前清除此网站的数据。如果浏览器存储不可用,控件会保留在同一页面上,您仍可不经页面跳转完成转换。

常见问题

可以。选择一张或多张工作表。选择一张时会生成 JSON 下载;选择多张时会生成一个 ZIP,其中每张工作表各有一个 JSON 文件。

普通的基于表头记录适合对象数组。若包括表头行在内的每一行都应保留为位置数据,请使用矩阵。唯一查找请使用字典;需要按重复值收集相关记录时,请使用分组数组。

基于表头的结构需要非空且唯一的表头。字典还需要所选键列中的值唯一。拒绝重复项可防止输出文件悄悄用一条记录替换另一条记录。

不会。公式单元格在可用时使用已缓存的单元格值,而非格式化后的显示结果,工具不会重新计算公式。只有电子表格读取器识别为日期的单元格才会写成 ISO 日期,而不会根据文本猜测。

不会。读取、转换和下载准备都留在浏览器中。多步骤流程可保留仅限浏览器的草稿,但它在 30 分钟后将无法再使用;工作簿及其数据不会发送到服务器,也不会写入 URL。重新开始或请求下载会请求浏览器移除草稿,若无法确认移除则会显示警告。

相关工具

此工具还提供其他语言版本