首页 · 免费工具 · Excel 转 SQL

Excel 转 SQL

把 .xlsx 或 .csv 放进来,拿到可以直接贴进客户端执行的 SQL:一条 CREATE TABLE 加上按批切好的 INSERT。 列的类型是看着数据推断的,字符串里的单引号会被正确转义。全程在浏览器里,文件不上传。

你的表格

把 .xlsx 或 .csv 拖进来,或者点一下选择

什么都不会上传。文件由这个标签页里的 JavaScript 读取,不会离开你的电脑 —— 没有任何服务器看得到它,关掉标签页数据就没了。

中文表头会被保留

表头是「客户名称」「订单号」「下单日期」的表很常见,而不少同类工具会把非 ASCII 的列名整条丢掉,最后建出 column_1column_9。 这一页保留原样,并按方言加引号 —— MySQL 用反引号、PostgreSQL 和 SQLite 用双引号、 SQL Server 用方括号,四种数据库里都是合法标识符。

想要 ASCII 列名的话,在原表里把表头改成英文再来,比让工具替你音译可靠。

类型是推断出来的,不是猜的

整列都是整数就给整数类型,带小数或者是金额就给定点数(DECIMAL(18,4) / NUMERIC,不是浮点 —— 钱不能用浮点存), 2026-09-06 这种给时间类型,其余给变长字符串,长度按这一列实际最长的值定。

前导零一律当文本。00123 的订单号、0512 的区号 如果被存成整数,前面的 0 就永久没了 —— 这是从 Excel 往数据库搬数据时最常见的一次性损坏。

按批切

几万行塞进一条 INSERT 会撞上 MySQL 的 max_allowed_packet, 或者让客户端直接卡住。默认每 500 行一条,可以改成 100 或 1000。 生成的 SQL 可以复制走,也可以下载成 .sql 文件。

这一页不做的事

它不连你的数据库 —— 浏览器里没有到 MySQL 的连接,也不该有。它给你的是文本, 由你贴进自己的客户端执行。也不生成 UPDATE 或者带主键的 ON DUPLICATE KEY:那需要知道你原表的结构,而这一页只看得见这个文件。

常见问题

文件会被上传吗?

不会。表格由这个标签页里的 JavaScript 读取,生成的 SQL 也只在你这边。

中文列名能直接用吗?

能,四种方言都会加上各自的引号。要 ASCII 列名就先在原表里把表头改成英文。

金额会不会有精度问题?

不会用浮点。带小数的列给的是定点数(DECIMAL / NUMERIC)。

能直接连我的数据库导入吗?

不能,也不打算做 —— 浏览器不该拿着你的数据库密码。生成的 SQL 由你贴进自己的客户端。

单引号会转义吗?

会。字符串里的单引号按 SQL 规则加倍,SQL Server 还会加 N 前缀以保住中文。

同一件事,在自己的电脑上做

TableDI 作业机是一套完全在自己电脑上运行的桌面表格工作台。 导进来、整理好、做成图 —— 什么都不上传,也不用注册账号。

永久免费,不是试用 —— 不用账号、不用信用卡。目前是 macOS,Windows 版在做。付费版多了什么

2026-09-01 由 TableDI 团队最后核对。这一页有错吗?告诉我们 —— 只有一个收件箱,做 TableDI 的人自己看。