在线 Excel 编辑器
免费 · 无需注册 · 本地处理

XLSX 转 SQL 在线工具 — 免费·无需上传·脚本可直接执行

在浏览器中直接将 Excel 工作簿转换为可执行的 SQL 脚本:自动生成 CREATE TABLE(列类型自动推断)和批量 INSERT,标识符与字符串严格转义。无需上传,无需注册,无限制。

将 .xlsx、.xlsm 或 .xls 文件拖到这里,或点击选择

支持 .xlsx / .xlsm / .xls · 本地处理 · 从不上传

如何在线把 Excel 转成 SQL

  1. 拖入一个或多个 .xlsx / .xlsm / .xls 工作簿——全部在本地处理,不会上传。
  2. 点击「转换为 SQL」——每个有数据的工作表都会生成 CREATE TABLE 建表语句和分批打包的 INSERT 插入语句。
  3. 查看报告——每个文件列出转换的工作表、生成的表数量和导出的数据行总数。
  4. 下载结果——单个文件下载 .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 类型示例值
全部是整数INTEGER1、42、-7
其他数字(小数或混合)NUMERIC3.14、2.5、10
文本、日期、布尔值等其他内容TEXTAlice、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 编辑器