跳到主要内容
← 返回

Excel 转 JSON - 在线工具

数据
本地运行 · 不上传

在线将 Excel 文件转换为 JSON 对象数组,保留表头作为键名,全部本地处理。

结果有帮助吗?

本地工具可在 DevTools → Network 搜索输入内容,通常不会出现在请求中。

下一步

使用指南

业务方常给 .xlsx,接口与脚本却要对象数组。本工具在浏览器本地用 SheetJS 解析工作簿:默认取首行作字段名,其余每行一个对象;含多工作表时会出现下拉框供切换——文件不上传,适合中小表一次性导入、联调与演示数据准备。

1. 转换步骤

默认行为与 SheetJS sheet_to_json 一致:首行作键。日期可能变成序列号或日期序列化结果;合并单元格与公式缓存值也可能不符合预期——脏表建议先在表格软件里「粘贴为值」再上传,减少「看起来对、程序里错」的排查时间。

  1. 拖入或选择 .xlsx / .xls 文件。
  2. 若工作簿含多个工作表,用「工作表」下拉切换;输出会按当前表立即重算。
  3. 复制 JSON 或下载为 .json;需要类型定义时再接到 JSON 转 TypeScript。

2. 多工作表怎么用

工具不会自动把所有表合成一个巨型数组,以避免键冲突与静默丢表;显式切换更可预期。

  • 只有一张表时不显示切换控件,直接转换第一张。
  • 多表时每次导出当前选中表;若要合并,请在下游脚本拼接数组并增加 sheet 字段区分来源。
  • 下拉显示的是工作簿里的真实表名,便于对照业务命名(如「订单」「明细」)。

3. 清洗与边界

浏览器方案的优势是零安装与隐私本地;代价是内存与性能上限。超过舒适区就换工具,而不是反复刷新本页。

  • 前导零(工号、邮编、银行卡号)先在源表设为文本,否则可能被读成数字丢零。
  • 空行、空列会产生缺键或空值,导入前用 JSON 格式化工具扫一眼。
  • 超大表会顶浏览器内存——百万行级请改用 Python/pandas 或命令行流水线。

4. 和 CSV 路径的分工

若手里已经是 CSV/TSV 文本,请走 CSV/JSON 转换器,不必先装回 Excel。反过来,JSON 要分享给只会开表格的同事时,用 JSON 转 Excel。本页专注「二进制工作簿 → 对象数组」这一段;同站还有转 HTML、Markdown、CSV 的姊妹页,按目标格式选择即可。

5. 类型与下游

本页输出忠于表格单元格;语义美化与脱敏是另一道工序,分开做更不容易把演示数据误当成生产真相。

  • SheetJS 可能把纯数字列推断为 number;混杂文本则多为字符串。
  • 需要严格契约时,用 JSON Schema 校验器卡住必填字段与类型。
  • 要假姓名、邮箱、手机等语义字段,请用 Mock 数据生成器,而不是期待本页「随机化」单元格。

6. 安全与协作

合同、名单、薪资表属于敏感表:本地解析避免上传到第三方转换站。转换结果进仓库前先脱敏或抽样;团队约定「源表版本号 + 导出 JSON」成对归档,并在变更说明里写清工作表名与导出行数,避免口头「我昨晚导出过」对不上。 若工作簿含宏或外部链接,本工具只读单元格值,不会执行宏;但仍应避免打开来路不明的办公文档。导出 JSON 后若某列全是 null,回到源表检查筛选视图是否隐藏了数据行,或是否选错了工作表。

常见问题

全程在你自己的浏览器里:SheetJS 本地读入工作簿并转出 JSON,不产生任何上传。合同、名单、薪资这类敏感表不必交给第三方转换站。

默认取当前工作表第一行(表头)作为字段名,其余每行生成一个对象,与 SheetJS sheet_to_json 的默认行为一致。日期可能变成序列号,合并单元格与公式缓存值也可能不符预期——脏表建议先在表格软件里「粘贴为值」再上传。

含多张表时会出现「工作表」下拉框,显示工作簿里的真实表名,切换后立即按该表重算;单表文件不显示切换控件。每次只导出当前选中的表,不会自动合并所有表——要合并请在下游脚本拼接数组并加 sheet 字段区分来源,避免键冲突与静默丢表。

超大表可能顶满浏览器内存,百万行级请改用 Python/pandas 或命令行。工号、邮编、银行卡号等前导零列先在源表设为文本,否则可能被读成数字丢零。纯数字列会被推断为 number,混杂文本的列则多为字符串。

先回源表检查:筛选视图可能隐藏了数据行,或者选错了工作表。另外空行、空列也会产生缺键或空值,导入前先用 JSON 格式化工具扫一眼输出。

本工具只读取单元格值,不会执行宏或触发外部链接。即便如此,来路不明的办公文档本身就不要随意打开;转换结果进仓库前先脱敏或抽样。

相关工具

相关文章