🔍

首页 › 使用教程 › 开发与效率

Excel 与 JSON 互转教程:表格转对象数组,JSON 生成 xlsx

发布于 · 阅读约 2 分钟 · 用到的工具:Excel 转 JSON、JSON 转 Excel

一句话答案

Excel 转 JSON:选择 xlsx、xls、CSV 或 ODS 文件,格式选“对象数组”(第一行作字段名)或“二维数组”,日期单元格输出为 YYYY-MM-DD;JSON 转 Excel:粘贴 JSON 数组,选 XLSX 或 CSV 后生成下载,嵌套字段展开为 addr.city 列名。

本文目录
  1. Excel 转 JSON
  2. 两种输出格式对比
  3. 日期为什么没有变成数字
  4. JSON 转 Excel
  5. 常见问题

程序需要 JSON,业务同事习惯用 Excel,两边来回转换是开发中很常见的需求。Excel 转 JSON 和 JSON 转 Excel 都基于 SheetJS,在浏览器本地完成转换,表格数据不会上传。

Excel 转 JSON

  1. 选择文件:打开 Excel 转 JSON,选择或拖入 .xlsx、.xls、CSV 或 ODS 文件,工具读取第一个工作表。
  2. 选择格式:“对象数组”把第一行当作字段名,每一行变成一个对象;“二维数组”保留所有行,每行是一个数组。
  3. 检查结果:页面显示转换的行数和 JSON 内容。
  4. 复制使用:点击“复制”,粘贴到代码或配置文件中。
员工表转为对象数组,入职日期输出为 YYYY-MM-DD 字符串
员工表转为对象数组,入职日期输出为 YYYY-MM-DD 字符串
📊 Excel 转 JSON
免费在线使用,文件和数据只在你的浏览器本地处理,无需注册。
打开工具 →

两种输出格式对比

以“姓名、部门、入职日期、月薪”这张表为例:

格式输出示例适合
对象数组[{"姓名":"张晓明","部门":"销售","入职日期":"2021-03-15","月薪":12000}, …]导入程序、接口数据
二维数组[["姓名","部门","入职日期","月薪"],["张晓明","销售","2021-03-15",12000], …]保留表头行、做进一步处理

日期为什么没有变成数字

Excel 内部用序列号保存日期,例如 46023 表示 2026 年 1 月 1 日。工具会把设置为日期格式的单元格输出为 "YYYY-MM-DD" 字符串(带时间时为 "YYYY-MM-DD HH:MM:SS"),而不是序列号。如果拿到的数据里已经是序列号,可以参考 Excel 日期序列号 换算。

JSON 转 Excel

  1. 打开 JSON 转 Excel,粘贴 JSON 数组,例如 [{"name":"Tom","age":18},{"name":"Amy","age":20}];
  2. “格式”选择 XLSX 或 CSV,填写文件名;
  3. 点击“生成并下载”。

嵌套对象会自动展开为点号分隔的列名,例如 {"addr":{"city":"上海"}} 变成 addr.city 列;数组会以 JSON 字符串形式写入单元格;单个对象会被当作只有一行的数组。JSON 格式有误时,先用 JSON 格式化 检查。

常见问题

Excel 转 JSON 时第一行会当作字段名吗?

选择“对象数组”时,第一行作为字段名;选择“二维数组”时,第一行和其他行一样作为数据保留。

一个 Excel 有多个工作表怎么办?

工具只读取第一个工作表。需要转换其他工作表时,可以在 Excel 中把它移到第一个位置,或另存为单独的文件。

嵌套的 JSON 能转成 Excel 吗?

能。嵌套对象会展开为 addr.city 这样的列名,数组会作为 JSON 字符串写入单元格。

表格数据会上传吗?

不会。两个工具都使用 SheetJS 在浏览器本地解析和生成文件。