toolgarden.xyz
EN
Excel 转 JSONXLSX数据转换JSON

Excel 数据如何一键转成 JSON

Excel 转 JSON 通常会读取第一行作为字段名,再把后续每一行转换成对象,适合接口 mock、数据导入和配置迁移。

ToolGarden 推荐的工具优先在浏览器本地运行,文件和文本不必上传到服务器,适合更注重安全隐私的日常处理。

发布于 2026年7月2日更新于 2026年7月3日约 8 分钟阅读作者 ToolGarden

Excel 转 JSON 的核心规则是:表头变成字段名,每一行变成一个 JSON 对象。

[
  {
    "name": "Alice",
    "email": "alice@example.com",
    "active": true
  }
]

转换前最好整理表格

  • 第一行作为字段名,避免空表头和重复表头。
  • 每一列只放一种类型的数据,例如不要混用数字和说明文字。
  • 日期列要确认是否需要保留为文本,还是转成日期字符串。
  • 删除合并单元格、注释行和统计行,避免混入 JSON。
  • 如果有多个 Sheet,先确认工具读取哪一张表。

如何表达嵌套字段?

很多接口需要嵌套对象,而 Excel 天然是二维表。比较常见的做法是在表头中使用路径式字段名,例如 user.name、user.email、order.id。转换时再把这些路径还原成嵌套 JSON。

[
  {
    "user": {
      "name": "Alice",
      "email": "alice@example.com"
    },
    "order": {
      "id": "A-1001",
      "total": 59.9
    }
  }
]
Excel 表头JSON 结果适合场景
user.nameuser: { name: ... }用户资料、联系人信息
order.totalorder: { total: ... }订单、报价、结算数据
tagstags: ...简单标签列,可后续拆成数组
address.cityaddress: { city: ... }地址、地区、配送信息

空值、日期和数字要特别小心

Excel 看起来像文本的内容,底层可能是数字、日期序列值或带格式的单元格。比如身份证号、手机号、邮编这类字段不应该当数字处理,否则前导零可能丢失;金额字段则要确认小数精度是否满足业务要求。

  • ID、手机号、邮编建议在 Excel 中按文本保存。
  • 金额、数量、比例字段转换后要抽查小数位。
  • 日期最好统一成 yyyy-mm-dd 或 ISO 字符串,再交给接口处理。
  • 空单元格要确认是保留 null、空字符串,还是直接省略字段。

常见问题

问题原因建议
字段名很奇怪表头含空格、换行或重复名称先规范表头
数字变成文本Excel 单元格格式不统一转换后抽查关键字段
空值丢失或变空字符串空单元格处理规则不同根据接口要求统一处理
日期不符合预期Excel 日期本质上可能是序列值提前转为文本日期

导入接口前的检查清单

  1. 先转换少量样本,确认字段名和嵌套结构正确。
  2. 用 JSON 格式化工具检查输出是否为合法 JSON。
  3. 随机抽查首行、中间行和最后一行,避免空行或统计行混入。
  4. 对照接口文档确认必填字段、字段类型和日期格式。
  5. 正式导入前保留原始 Excel 文件,方便回溯。

常见问题

Q.Excel 里的日期转成 JSON 后变成一串数字怎么办?

这是 Excel 底层用序列值(比如 45678)表示日期的结果:1900-01-01 是 1,之后每天加 1。转换器如果直接把单元格值读成数字,就会把日期变成 45000 这种没意义的整数。解决办法有两种:一是转换前在 Excel 里选中日期列,设置单元格格式为“文本”,或者用公式 =TEXT(A2,"yyyy-mm-dd") 生成一个新列再转换;二是使用支持自动识别日期的转换工具,它会读取 Excel 的日期格式并输出 ISO 字符串(2024-11-15)。正式导入接口前,检查几行日期字段的实际值。

Q.身份证号、手机号在 Excel 里显示正常,转 JSON 后为什么变成科学计数法?

Excel 对超过 15 位的纯数字会用科学计数法显示(比如 3.10105E+17),并且只保留 15 位精度,后面的位数会被抹成 0。18 位身份证号最后 3 位归零、19 位银行卡号变形都是这样发生的。根本原因是这些字段被当成 number 处理。解决方式:转换前在 Excel 里给这些列设置“文本”格式,或者在数据前面加一个英文单引号('110101199001011234),Excel 会当作文本存储。转 JSON 时也要确认工具按字符串处理这些列,不要走数字类型。

Q.多个 Sheet 的 Excel 转 JSON 时会读取哪一张?

绝大多数在线转换工具默认只读取第一张 Sheet(也就是打开 Excel 时最左边显示的那一张)。如果你的数据在其他 Sheet 上,转换结果会是空的或者错的。解决办法:转换前把目标 Sheet 拖到最前面,或者复制其内容到一个新 Excel 文件里再转换;如果工具支持选择 Sheet,就在设置中指定名称。多 Sheet 想全部转换的话,需要循环处理:ToolGarden 的 Excel → JSON 目前默认第一张,导入多表数据前先合并或分批处理。

Q.Excel 转出来的 JSON 字段名带空格或换行,接口报错怎么办?

问题在表头。Excel 允许表头写“用户 姓名”“订单\n编号”这种带空格或换行的内容,转换后会变成 JSON 里的 key:{ "用户 姓名": "张三", "订单\n编号": "A001" }。大多数接口不接受带空格或特殊字符的字段名。修复方式:转换前统一在 Excel 里改表头,比如把空格改成下划线(user_name),把中文改成英文(orderId),删掉换行。也可以用 JSON 修复清洗工具批量替换 key 名。规范表头一次,之后每次转换都干净。

Q.空单元格在 JSON 里应该是 null、空字符串还是省略字段?

看接口约定,三种都合法但含义不同。null 明确表示“这个字段存在但没值”,适合数据库允许 NULL 的字段;空字符串("")表示“字段有值,值是空”,适合前端表单默认值场景;省略字段(key 都不出现)表示“这个属性根本不存在”,适合可选字段和稀疏数据。选错了后端可能出问题:比如后端用 if field is None 判断空但你传 "",条件不成立。转换前问清接口对空值的处理规则,或者转换后统一用工具批量把 null 改成对应形式。