表格 / CSV / JSON 互转
支持 .xlsx / .xlsm / .xlsb / .xls / .ods / .csv,最大 20MB。文件不上传,全程在浏览器里解析。
CSV 结果里数字、日期、百分比按表格里显示的样子给;JSON 结果保留数字和布尔类型。
转换只在浏览器里完成,文件和内容都不会上传,也不写进任何存储。
使用说明
把 CSV、JSON 和 Excel 表格互相倒腾,前后端对字段、做数据搬运时常用。
规则说明:
- 三种方向:CSV 转 JSON、JSON 转 CSV、表格文件转 CSV 或 JSON,用顶部「方向」切换
- CSV 解析按 RFC 4180 来:字段含分隔符或换行时要用双引号包起来;双引号本身用两个双引号转义("")
- 分隔符可手动选逗号 / 制表符 / 分号,也可以让它自动识别(看首行里哪个出现最多)
- 「首行作表头」勾上时,每一行映射成一个对象;不勾则用 col0、col1…… 当键
- JSON 转 CSV 时,会自动把所有对象的键合并成表头(按出现顺序),某个对象缺的字段留空
- 表格文件支持 .xlsx / .xlsm / .xlsb / 老 .xls / .ods,也支持直接把 .csv 当文件丢进来
- 多个工作表时会列出工作表下拉框,一次转一个;转换结果都是标准格式:JSON 用 2 空格缩进,CSV 用双引号包裹需要转义的字段
常见疑问:
- 为什么我一大段文本被拆得乱七八糟?多半是字段里有逗号却没用引号包。标准 CSV 里,含分隔符的字段必须放在双引号里
- 数字会变字符串吗?CSV 本来就不区分类型,转出来全是字符串;转成 JSON 时数字、真假会保留成真正的数字和布尔值
- 表格里的日期、百分比怎么转?转 CSV 按表格里显示的样子给(比如 25.00%、2024-05-01);转 JSON 时日期同样给显示文本,避免时区把日期挪跑一天
- 表头重复 / 空表头怎么算?空表头用 col0、col1 顶上,重名的自动加 _2、_3,保证 JSON 的键不互相覆盖
- 中文 CSV 丢进来变乱码?本页先按 UTF-8 读,读不通再按 GBK 试(老版 Excel 存的中文 CSV 就是 GBK),按 GBK 读时页面会提示;真不对就先把文件另存成 UTF-8 再来
- 下载下来的 CSV 用 Excel 打开乱码?已放工具的 CSV 结果都带 UTF-8 BOM,Excel 直接双击就能正常显示中文
- 能处理多大?文件上限 20MB,单个工作表超过约 30 万个格子会拦下(浏览器里逐个格子读,再大就只是卡);更大的数据请在本地用脚本处理
- 密码保护的表格能转吗?不能,本页不解密
说明:
- 文件和文本只在你的浏览器里处理,不会上传,也不会写进任何存储
- 表格解析用的是本地打包的开源库 SheetJS(Apache-2.0)