Excel 转 JSON

Excel 转 JSON,是指把 xlsx/xls 表格转换成 JSON 数据的操作,常用于把表格喂给程序、导入接口、生成 mock 测试数据。本工具免费使用、不加水印,默认把首行作为字段名,将整表转成对象数组 [{列1:值,列2:值}, …],也可输出二维数组;多个工作表会一次导出为按表名分组的 JSON。工具会智能处理 Excel 特有的坑:日期默认转成可读的 ISO 字符串、手机号/身份证等长数字串保留为文本不丢前导 0、公式取计算结果值。全程在你的浏览器本地用 SheetJS 完成,表格文件不上传、不保存到服务器,更适合含敏感数据的表格。下面介绍具体操作和常见问题。

拖入一个 Excel 文件(xlsx/xls),点击选择
文件不上传 · 浏览器本地转换 · 支持 xlsx/xls · 单文件 ≤ 50MB

🔒 Excel 在你的浏览器内转换成 JSON,未上传任何服务器。转数据不转样式(公式取计算结果值)。

如何使用Excel 转 JSON

1

拖入或选择一个 Excel 文件(支持 xlsx/xls,单文件 ≤ 50MB,在浏览器本地处理、不上传)。

2

选输出结构:「对象数组」把首行作字段名转成 [{列:值}];「二维数组」原样输出行列。

3

多工作表时选「全部(按表名分组)」或指定某一张表;需要时展开高级选项调类型推断、日期格式、空值处理与缩进。

4

点「转换为 JSON」,在结果区预览生成的 JSON 与汇总、警告。

5

点「复制 JSON」或「下载 .json」;多表勾选「分文件打包」时下载得到 zip。

常见问题

怎么把 Excel 表格转成 JSON 对象数组?
上传 Excel 后保持默认的「对象数组」结构,工具会把首行当作字段名(key),其余每一行转成一个对象,整表输出为 [{"姓名":"张三","年龄":18}, …],这正是把表格喂给程序、导入接口或造 mock 数据最常用的格式。若表格没有规整表头,可切到「二维数组」原样输出行列。
Excel 转 JSON 前导 0 和手机号丢失怎么办?
本工具默认开启「长数字串保文本」:手机号、身份证、银行卡、以 0 开头的编号等原本存为文本的长数字串会保留为字符串,不转成 number,因此不会变成科学计数法、也不会丢掉前导 0。只有能无损还原的安全数字才会转成数值,处理这类字段更放心。
Excel 里的日期转 JSON 变成一串数字怎么办?
那串数字是 Excel 的日期序列号。本工具默认把日期转成可读的 ISO 字符串(如 2026-08-05,含时间则输出完整 ISO),比裸转出来的序列号好用得多。你也可以在高级选项里切换为「Excel 序列号」或「可读日期文本」(如 2026-08-05 09:30:15,用空格分隔日期与时间)。
一个 Excel 有多个 sheet 转 JSON 怎么处理?
默认会把多个工作表输出为一个按表名分组的对象 {"Sheet1":[…],"Sheet2":[…]};你也可以在工作表下拉里只选其中一张表,输出单个数组;还能勾选「多表每张各存一个 .json 打包 zip」,一次导出全部分表文件。
Excel 转 JSON 中文乱码怎么办?
Excel 转 JSON 默认输出 UTF-8 编码、直接保留可读中文,用编辑器或浏览器以 UTF-8 打开都不会乱码。若你在别处看到 \u4e2d\u6587 这类转义,那是 JSON 对非 ASCII 字符的合法写法,程序 JSON.parse 后仍是正常中文;本工具默认不做转义、直接输出中文,复制或下载都放心。
Excel 转 JSON 会上传到服务器吗,安全吗?
不会上传,很安全。Excel 转 JSON 全程在你的浏览器本地用 SheetJS 完成,表格文件不会离开你的设备、不保存到服务器,关闭页面即清除,处理含工资、客户、名单等敏感数据的表格也放心。
手机上能把 Excel 转成 JSON 吗?
可以。本工具是纯网页、在浏览器本地运行,手机和电脑浏览器都能用,无需安装 App,转完可直接复制或下载 .json。表格特别大时手机内存有限,建议改用电脑处理超大表格。
Excel 转 JSON 能保留公式和单元格格式吗?
转数据不转样式:单元格的值会完整转成 JSON,含公式的单元格取其计算结果值(不重算),而字体颜色、数字/日期显示格式、合并单元格、图表等样式不会进入 JSON。需要的是结构化数据,这正合适;需要保留格式请另存原表。

Excel 转 JSON 的两种输出结构怎么选:对象数组还是二维数组

转 JSON 前先想清楚「要不要把首行当字段名」。大多数开发场景要把表格喂给程序或接口,选「对象数组」最直观;需要保留原始行列位置、或表格没有规整表头时,选「二维数组」原样输出。下表按常见需求给出对照。

Excel 转 JSON 两种输出结构对照:对象数组 / 二维数组
对比项对象数组(objects)二维数组(arrays)
输出形状[{"列":值}, …][["列","值"], …]
首行处理作为字段名(key)原样作为第一行(可选去掉)
适合场景喂接口、造 mock 数据、导入程序保留行列位置、无规整表头
多表分组{表名:[{…}]}{表名:[[…]]}
键是否要求唯一是(重名自动去重)

举例:把「用户表」转对象数组会得到 [{"姓名":"张三","年龄":18}, …],可直接 JSON.parse 后喂给前端渲染或接口批量导入;若两列都叫「金额」,对象键不能重复,工具会稳定去重为「金额」「金额_2」并给出提示,避免后写覆盖前写而丢数据。