表格文件转换
格式化所有处理都在浏览器本地完成,数据不上传服务器
把一份表格拖进来,转成 CSV、JSON、Markdown 表格或 HTML 表格。文件不会被上传 —— xlsx 就是一个装着一堆 XML 的 ZIP,浏览器完全解得开。 ⚠️ 读到的是单元格的显示值,不是整份表格。 这一条决定了它能用来做什么: · 公式取到的是缓存的计算结果(上次在 Excel 里算出来的那个数),不是公式本身。所以一个从没被 Excel 打开过、由程序生成的 xlsx,公式格可能根本没有缓存值 —— 读出来是空的。这不是缺陷,是文件里确实没有那个数。 · 样式(字体、颜色、边框、数字格式)全部丢失 —— 这四种目标格式里都表达不了。 · 合并单元格只有左上角那个格子有值。视觉上「跨三列」的标题,在数据里就是一个格加两个空格子 —— 这是导出表格时最常见的意外。 · 批注、条件格式、数据验证、图表、图片、透视表全部丢失。 所以它适合把数据搬出来(导进数据库、喂给脚本、转成别的格式),不适合把表格转成另一种表格(那需要保住样式,得用 Excel 自己的「另存为」)。 ⚠️ 两处容易踩的地方:日期在 Excel 里本质是一个数字,这里已经按日期解出来并按 UTC 输出(用本地时区会让东八区整体少一天);多工作表各自独立输出,不会合并。
功能
- 读 .xlsx、.xls、.xlsm、.xlsb、.xlt、.xltx、.xltm、.ods、.csv、.tsv(含模板文件)
- 四种输出:CSV、JSON、Markdown 表格、HTML 表格
- ⚠️ 「读到的是显示值」的说明写在结果里,不藏进 FAQ
- ⚠️ 日期按 UTC 输出,不会因为时区差一天
- ⚠️ 没有 BOM 的 UTF-8 CSV 不会变成乱码(按 UTF-8 严格校验后再决定编码)
- ⚠️ 重复的表头自动加后缀 —— JSON 里键名重复会静默丢掉一整列
- ⚠️ 空表头补成「列N」,而不是丢掉那一列
- 可以只转指定的工作表;工作表的行列数逐个列出
- ⚠️ 表格太大时不转 Markdown / HTML(产物没法读),CSV 与 JSON 不受限
- 每一块输出都有独立的复制按钮
- 文件不上传,断网也能用
使用方法
- 把表格文件拖进虚线框,或点击选择
- 选输出格式、要不要把第一行当表头、转哪一个工作表
- 结果按工作表分块,每块都能单独复制
常见问题
- 为什么公式读出来是空的?
- 因为文件里那个格子确实没有值。Excel 保存公式时,会把上次算出来的结果一起存进去(叫缓存值),读的时候取的就是它。而一个由程序生成、从没在 Excel 里打开过的 xlsx,写入方可能只写了公式没写缓存值 —— 那时谁也读不出来。这不是解析器的问题,是文件本身的形态。要拿到那些数,先用 Excel 或 LibreOffice 打开并保存一次。
- 合并单元格为什么会丢?
- 因为合并只是显示效果,数据仍然只存在左上角那一个格子里。一份「第一季度」横跨三列的表格,在数据层面是:第一格写着「第一季度」,后面两格是空的。转成 CSV 或 JSON 时你看到的就是这个样子。这是导出表格时最常见的意外 —— 一份看起来整齐的报表,导出来第一列全是空的(那是合并造成的)。要正确处理,得先在 Excel 里取消合并并填充。
- 为什么 Markdown 和 HTML 有大小限制?
- 因为产物没法用。一个几万格的表格转成 Markdown 之后是几万行管道符 —— 谁也不会去读它,粘进任何编辑器都会卡。CSV 与 JSON 不受这个限制,因为那两种格式本来就是给机器读的,多大都有意义。要看的表格转 Markdown,要处理的数据转 CSV 或 JSON。
- 日期会不会差一天?
- 不会 —— 这恰恰是这类工具最容易出错的地方。Excel 里的日期本质上是一个数字(距 1899-12-30 的天数),靠数字格式显示成日期;读的时候必须告诉解析器「这个按日期理解」,否则一列日期会变成一串 `45123`,而它们看起来完全正常。开了之后又有第二个坑:`Date` 对象带时区,用本地时区解释会让东八区的用户看到日期整体少一天。这里统一按 UTC 输出,两个坑都避开了。
- 加密的表格文件能读吗?
- 不能。设了打开密码的 xlsx 在文件层面就是加密的,没有密码解不开 —— 这不是工具的限制,是那份文件在没有密码时根本不包含可读的数据。另外 WPS 的 `.et` 格式也读不了(它是私有格式)。如果是这两种,先用 Excel 另存为 `.xlsx` 并且去掉密码。
相关工具
CSV 转换
格式化CSV / TSV 与 JSON 双向互转:自动识别分隔符,正确处理引号与字段内的换行,剥掉 Excel 的 BOM,数字只在无损时才转换。全部在浏览器本地完成。
XML 与 JSON 互转
格式化XML 与 JSON 双向互转,用一套固定的约定(属性写作 @名字、重复标签变数组),并逐条报出这次转换丢了什么。全部在浏览器本地完成。
JSON 格式化
格式化在线 JSON 格式化与校验工具:树形折叠浏览、搜索键值、逐节点改值与删除、语法错误定位到具体行列,输入框带行号与高亮。全部在浏览器本地完成。
JSON 转代码
格式化把 JSON 样本转成 TypeScript interface、Go struct、Java class 或 Rust struct:不齐的键标成可选、类型冲突退化为联合类型。全程在浏览器本地生成。
SQL 格式化
格式化在线 SQL 格式化:关键字统一大小写、按 SELECT / FROM / WHERE 等子句换行缩进、子查询逐层展开,压缩模式去掉多余空白与注释。语句不上传服务器。
JSON5 转换
格式化把 JSON5 解析成标准 JSON:注释、无引号键、单引号、尾逗号、十六进制、Infinity 都支持,错误指出行列。全部在浏览器本地完成。