Excel 转 JSON 转换器
粘贴或上传 Excel,在浏览器中即时转为 JSON——每行一个对象,首行作为键,免费、文件不上传。
三步把 Excel 转成 JSON
拖入一个 .xlsx 或 .xls 文件,让浏览器把每一行读成一个对象,再下载 JSON。excel转json 在线、免费,不装软件、不注册、不上传。
上传你的 Excel 文件
拖入一个 .xlsx(Excel 2007 及以上)或 .xls(Excel 97–2003)文件,或者点击浏览选择。表格直接在你的浏览器里读取,什么都不外传——文件始终留在本地。做 excel转json 时,文件上限 100 MB,特别大的表则受你设备内存限制。
行变成 JSON 对象
每一行变成一个对象,表头行变成键。默认就把第一行读成键名,所以一列叫 email,每个对象上就会有个 email 字段。解析完成后,页面会显示工作表数量和总行数。
下载你的 .json 文件
导出一个格式化好的 .json 文件,任何编辑器都能打开——VS Code、Vim、浏览器 devtools 窗口。想以后再变回表格?同样在浏览器里把 JSON 转回 Excel,两个方向都不用装软件、不用注册。
这款 Excel 转 JSON 转换器的六条承诺
六条关于 JSON 输出长什么样、文件怎么被处理的承诺——全部在浏览器里跑,不注册、不上传。
没有任何服务器碰得到你的文件
工作簿在你自己的机器上被打开、按单元格逐个解析、重建成 JSON——网络从一开始就被排除在转换之外,而不是悄悄塞进来。没有任何东西离开你的设备去被处理、扫描或留存。本站 把 CSV 数据转成 Excel 也走同一条本地规则。
首行变键,每一行变一个对象
表的第一行变成 JSON 的键,它下面的每一行都变成数组里的一个对象。一列叫 price,每个对象上就有一个 price 字段。Excel 转 JSON 的输出就是一个对象数组——正是 API 和数据库要的那种结构。
.xlsx 和 .xls 都能读
较新的 .xlsx(Office Open XML,2007 年起 Excel 默认格式)和老版本的 .xls(Excel 97–2003)都能干净解析。很多转换器默认只收 .xlsx、碰上老文件就卡住,这款两个都读。无论哪种,输出的 JSON 都一样——一个 UTF-8 编码的对象数组。
单元格的类型一路带到 JSON
一个单元格自己知道它装的是数字、日期、布尔,还是空值——这点类型信息 JSON 会一路保留。数字落地还是数字,日期变成脚本能解析的 ISO 风格字符串,布尔单元格变成 true / false,而不是文本 "TRUE"。真正为空的单元格变成 null,缺口在数据里看得见,而不是伪装成一个空字符串。
100 MB 上限,无配额、不注册
文件最大可转 100 MB,没有每日额度、也不用建账号——比 Monkt 的 5 MB / 3 文件免费档、ConversionTools 的 10 MB / 每天 5 次限制、TableConvert 的 10 MB 上限都大。这套免费的浏览器端 Excel 工具 走的都是同一条规矩:粘贴或上传,转换,搞定。
任何现代浏览器都能跑,装没装 Excel 都行
Windows、macOS、Linux,或者一部手机——任何带 JavaScript 的浏览器都能干活,本机不必装 Excel。输出就是纯 JSON 文本,所以在 VS Code、Vim、浏览器 devtools 窗口,或任何认 UTF-8 的编辑器里都能打开。在线把 Excel 转成 JSON,一行软件都不用装。
一张表格网格是怎么变成一棵 JSON 树的
JSON 和 Excel 存的是同一份数据,但两者的"形状"并不一样。Excel 是一张网格——行列结构,本就是给人读、筛选、排序用的。JSON 是一棵由嵌套对象和数组组成的树,是 API 和数据库返回的格式,由两份对齐的标准定义——最主要的是 JSON 数据交换格式(RFC 8259)(IETF STD 90,2017 年 12 月)。把 Excel 转成 JSON,就是把数据从人读的网格,搬进程序能消费的结构:一行变一个对象,表头那行变键,整张表变一个数组。
为什么输出在哪里解析都一样
两份独立的标准把 JSON 的语法固定下来,于是一个值在一个工具里写出来,换任何工具读都一样——IETF 的 JSON 数据交换格式(RFC 8259) 和 ECMA-404,两份都在 2017 年 12 月定稿。RFC 8259 里有一条值得先知道:系统之间交换的 JSON 文本必须是 UTF-8,而这正是本转换器输出的编码。装着你输入的那个 .xlsx,由 Office Open XML 文件格式(ECMA-376)定义,第 5 版 2021 年 12 月发布——一个装着 XML 部件的 ZIP 包,从 2007 年起就是 Excel 的原生存盘格式。按 Microsoft 的上限,单张工作表最多能装 1,048,576 行 × 16,384 列,所以一整张表转出来的数组可能很大。
看它怎么转——一张 Excel 表变成一个 JSON 数组
| id | name | plan | seats | |
|---|---|---|---|---|
| 1042 | Alice Chen | alice@example.com | enterprise | 34 |
| 1043 | Marcus Lee | marcus@example.com | starter | 5 |
[
{
"id": 1042,
"name": "Alice Chen",
"email": "alice@example.com",
"plan": "enterprise",
"seats": 34
},
{
"id": 1043,
"name": "Marcus Lee",
"email": "marcus@example.com",
"plan": "starter",
"seats": 5
}
]这个示例把规则演示给你看:标题行(id, name, email, plan, seats)变成 JSON 的键,每一条数据行变成数组里的一个对象。数字保持数字、文本还是文本、空单元格变成 null。一张多列表会产出一个"每行一个对象"的结构——正是 REST API、数据库 seed,或配置文件要的那种。这就是 Excel 转 JSON 的产物:带类型、带键的行,拿来就能给代码用。
表格里的每一部分,在 JSON 里分别是什么
| 在表格里 | JSON | |
|---|---|---|
| 标题行 | 第一行单元格 | 对象的键 |
| 一条数据行 | 横跨一行的单元格 | 数组里的一个对象 |
| 整张表 | 一张行 × 列的网格 | 一个对象数组 |
| 一个数字单元格 | 数值 | 一个 JSON 数字 |
| 一个空单元格 | 空白单元格 | null |
| 一个日期单元格 | 日期格式的单元格 | 一个 ISO 风格字符串 |
映射是按"每张表"算的。行列上限来自 Excel 官方工作表规格;老版本 .xls(Excel 97–2003)最多只有 65,536 行,所以从老系统导出的文件,喂进来的数组会更小。
Excel 转出的 JSON 数组会落到你工作流的哪个环节
五种"一份表格到了手上、得变成 JSON"的真实理由——以及为什么把文件丢到这里,比写个脚本更省事。
准备 API 请求体
一个产品团队把种子数据、测试夹具或样例记录放在表格里——好改,但难直接喂给接口。跑一遍 Excel 转 JSON,结果就能直接 POST 出去:一行一个对象、表头作为字段名,正好是 API 契约要的那种结构。
数据库种子和导入
一份 CSV 或 .xlsx 装着该进 Postgres、Mongo 或 SQLite 的行。JSON 是通用的中间格式——粘进迁移脚本、Mongo 导入,或 ORM 的 seed 文件都行。"首行作键"的输出直接当文档或参数化插入,列顺序都不用重排。
前端和静态站的数据
一个营销站、文档门户,或仪表盘从仓库里的一个 JSON 文件读内容。编辑在 Excel 里维护——他们待得舒服;构建那一步要的是 JSON。每改一次跑一遍 Excel 转 JSON,把 .json 提交上去、发版。五行的表,犯不上接 Google Sheets 同步,也犯不上为它上一个 headless CMS。
表格里的配置和查找表
费率表、地区映射、功能开关、价格档位——放在表格里,是因为团队就在那儿改它们,但代码那边要的是当作 JSON 查找来用。把表格转一下、把数组交出去就行。如果源头是 CSV,先 把 Excel 数据导出成 CSV,再走同一个浏览器流程带回来。
数据管线的交接和清洗
表格是不共享数据库的团队之间交接的格式。把它转成 JSON,下游脚本——Python、Node、一个 dbt 模型——就能读带类型的字段,而不必去解析单元格字符串。先把源头清一遍:对比 Excel 里的两列,在行变成 JSON 对象之前先把重复键去重,避免重复项跟着数组进入下游管道。
Excel 转 JSON 时,表格留在你设备上——根本谈不上"24 小时后删除"
把表格转成 JSON 有两条路:要么把文件交给服务器读、再返回给你,要么在你自己的浏览器里读表。本工具走第二条——文件被逐行解析、在你的设备上重组成 JSON,所以在任何别的地方都不会产生它的副本。那些托管型转换器全走第一条,还会告诉你结果留多久:ConversionTools 坦白写着 <em>"在我们服务器上处理 · 文件 24 小时后自动删除"</em>,Monkt 留得更久,文档是 <em>"如无特别说明,30 天后自动删除"</em>。24 小时和 30 天只是程度不同,性质一样——两种情况下表格都先落到了别人的硬盘上。这里不会。
关掉浏览器标签页,JSON 也跟着没了——本来就没有第二份副本能活过这次会话。没有账号、没有邮箱、没有要注册的每日配额。这才是对客户名单、价格表或任何 NDA 之下文件真正要紧的点:保护不是一句"事后删除"的承诺,而是上传压根没发生过。100 MB 以内的文件都欢迎;超过这个数,天花板就是你机器自己的内存。同样的"不上传"规矩贯穿这里每一次 excel转json 转换,也贯穿 <a href="/" style="color:#20A884" className="underline decoration-dotted underline-offset-4 hover:decoration-solid">整套 Excel 工具集</a>的其余部分。
Excel 转 JSON — 常见问题
email,数组里每个对象上都会有个 email 字段,每一行数据变成一个带这些字段的对象。这种"首行作键"的结构是默认行为,也正是大多数 API 和数据库期望的格式,不用手动配字段映射。id 和 name 的表,会生成 [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"},{"id":3,"name":"Cara"}]。这正是 REST 接口、Mongo 插入或 JavaScript .map() 能直接消费的结构。.xlsx(Office Open XML,2007 年起 Excel 的默认格式,由 ECMA-376 定义)和老版本 .xls(Excel 97–2003)都能干净解析。两种格式输出的 JSON 完全一样——一个 UTF-8 的对象数组。很多转换器只收 .xlsx,对老的 .xls 直接拒收。.xlsx 是现代格式——一个装着 XML 的 ZIP 包,从 Excel 2007 起就是原生格式,每张表最多 1,048,576 行 × 16,384 列。.xls 是老的二进制格式(Excel 97–2003),上限只有 65,536 行。两者转出来的 JSON 结构完全一样,只是 .xls 每张表能装的数据少一些。{ "Orders": [...], "Customers": [...] } 能让每张表的数据分得清清楚楚。空的表会被跳过。true / false,而不是文本 "TRUE"。空单元格变成 null,所以缺失值是显式的,而不是悄悄变成空字符串。输出的是带类型的 JSON,不是一张全是文本的表。