XLSX 转 SQL 在线工具 — 免费·无需上传·脚本可直接执行
在浏览器中直接将 Excel 工作簿转换为可执行的 SQL 脚本:自动生成 CREATE TABLE(列类型自动推断)和批量 INSERT,标识符与字符串严格转义。无需上传,无需注册,无限制。
将 .xlsx、.xlsm 或 .xls 文件拖到这里,或点击选择
支持 .xlsx / .xlsm / .xls · 本地处理 · 从不上传
如何在线把 Excel 转成 SQL
- 拖入一个或多个 .xlsx / .xlsm / .xls 工作簿——全部在本地处理,不会上传。
- 点击「转换为 SQL」——每个有数据的工作表都会生成 CREATE TABLE 建表语句和分批打包的 INSERT 插入语句。
- 查看报告——每个文件列出转换的工作表、生成的表数量和导出的数据行总数。
- 下载结果——单个文件下载 .sql 脚本,多个文件打包为 ZIP。
工作原理
本工具把 Excel 数据转成 SQL。内部流程:在浏览器中读取 .xlsx 工作簿(XML 部件的 ZIP 包),从每个工作表提取表格数据,按数据推断列类型(text、integer、real 等),生成 CREATE TABLE 与 INSERT 语句,并打包成 .sql 文件。全程本地——不上传,无需连接数据库。
与手写导出脚本的对比
把 Excel 数据导入 SQL 的常规做法是写一个 Python/pandas 脚本或加载工具——意味着要搭环境、自己处理类型推断、调试各种边界情况。本工具即时生成可直接运行的 SQL,无需写代码、无需配置。
| 方式 | 文件去向 | 说明 |
|---|---|---|
| 本工具 | 不出浏览器 | 免费 · 无需注册 · 无需代码 · 即时生成 CREATE TABLE + INSERT |
| 手写脚本(Python/pandas) | 留在你的电脑 | 需要 Python 与各类库;类型推断靠手;要调试 |
| 在线 SQL 生成器 | 上传到服务器 | 免费档限制行数;文件离开你的设备 |
列类型是如何推断的
每一列都会扫描全部数据行,选出最贴切的 SQL 类型。表名和列名用双引号包裹(SQL 标准的标识符写法),空格、大小写混排和保留字都能原样保留,名称里的双引号会自动翻倍转义。
| 列中的内容 | SQL 类型 | 示例值 |
|---|---|---|
| 全部是整数 | INTEGER | 1、42、-7 |
| 其他数字(小数或混合) | NUMERIC | 3.14、2.5、10 |
| 文本、日期、布尔值等其他内容 | TEXT | Alice、2024-05-01、TRUE |
整列为空的列按 TEXT 处理。日期统一写成 ISO 8601 字符串字面量(例如‘2024-05-01T00:00:00.000Z’),不依赖任何数据库特有的日期语法。
转义、NULL 与批量插入
字符串值用单引号包裹,内部单引号翻倍:O'Brien 会写成‘O''Brien’,任何输入都无法跳出字面量。空单元格和空字符串统一输出为 NULL,占位文本不会混进数据库。
INSERT 语句每 100 行打包一条——一条语句携带 100 组值。脚本保持紧凑,同时远在 PostgreSQL、MySQL、SQLite 单语句长度限制之内。
脚本不包含 BEGIN/COMMIT。如果希望导入要么全部成功、要么全部回滚,可以自行包一层事务:BEGIN; <粘贴脚本>; COMMIT;
转换器不做的事
- 公式按缓存结果导出——SQL 里看到的是值,不是公式。
- 格式、合并单元格、图表和图片没有 SQL 对应物,会被跳过。
- 表头为空的列按位置命名:column1、column2……依此类推。
- 一个工作表对应一张表,表名取自工作表名——三个工作表就会生成三条 CREATE TABLE。
常见问题
这个 Excel 转 SQL 工具真的免费吗?
免费,100% 在浏览器中完成,无需注册、没有文件数量限制,也不会上传任何数据。
生成的 SQL 能在哪些数据库执行?
输出遵循 SQL 标准的双引号标识符:PostgreSQL 和 SQLite 可以直接执行;MySQL 需要开启 ANSI_QUOTES 模式,或把双引号替换为反引号。
支持旧版 .xls 文件吗?
支持。.xls(Excel 97–2003)二进制格式通过 SheetJS 读取,转换流程与 .xlsx 完全一致。
我的文件会被上传到服务器吗?
不会。解析和 SQL 生成全部在浏览器内用 JavaScript 完成,文件从不离开你的设备。
日期是如何转换的?
日期会转成 ISO 8601 字符串字面量(如‘2024-05-01T00:00:00.000Z’),导入后可用数据库函数再转为原生日期类型。
空单元格会变成什么?
统一写成 NULL,空字符串也同样处理,表里不会插入空的占位文本。
可以一次转换多个工作簿吗?
可以。拖入多个文件一次处理,全部 .sql 结果打包成 ZIP 下载。
怎么把脚本导入 SQLite?
保存下载的文件后执行 sqlite3 mydb.db < output.sql 即可——CREATE TABLE 建表,INSERT 写入数据。
相关工具
转换成 SQL 之前还需要调整数据?
打开免费在线 Excel 编辑器