XLSQL:用 SQL 查询 Excel,让数据分析更简单
简介
XLSQL 是一个基于 Java 的 JDBC 驱动,让你能够像操作数据库一样,用标准的 SQL 语句来查询和操作 Excel 文件。不需要复杂的 Excel 公式,不需要 VBA 编程,只需要会 SQL,就能轻松处理 Excel 数据。
核心特色
自研 Native SQL 引擎
XLSQL 5.1.1 版本引入了完全自研的 Native SQL 引擎,不依赖任何外部数据库(如 HSQLDB、H2 等),这意味着:
-
零外部依赖:减少系统资源占用,运行更轻量
-
按需加载:只加载查询涉及的表数据,节省内存
-
完全控制:针对 Excel 场景进行专门优化
支持主流数据库工具
完美支持 DBeaver、DataGrip 等数据库管理工具,你可以:
-
在熟悉的数据库工具中直接查询 Excel
-
使用可视化界面浏览 Excel 数据结构
-
执行复杂的 SQL 查询和数据分析
支持多种 Excel 格式
-
支持
.xls和.xlsx格式 -
自动识别工作表作为数据表
-
第一行自动作为列标题
使用场景
1. 数据分析人员
如果你经常需要从多个 Excel 文件中提取和分析数据,XLSQL 可以让你:
-
用 SQL 快速筛选、聚合、排序数据
-
跨多个 Excel 文件进行 JOIN 查询
-
避免在 Excel 中写复杂公式的烦恼
2. Java 开发者
如果你需要在 Java 项目中处理 Excel 数据:
-
使用标准的 JDBC 接口,无需学习新的 API
-
轻松集成到现有项目中
-
支持 PreparedStatement,防止 SQL 注入
3. 数据库管理员
如果你习惯用 SQL 处理数据:
-
将 Excel 文件当作数据库表来查询
-
使用熟悉的 SQL 语法和工具
-
快速进行数据验证和转换
快速开始
Maven 依赖
XLSQL 已发布到 Maven Central,只需在 pom.xml 中添加:
<dependency>
<groupId>io.github.daichangya</groupId>
<artifactId>xlsql</artifactId>
<version>5.1.1</version>
</dependency>
基本使用示例
// 注册驱动
Class.forName("io.github.daichangya.xlsql.jdbc.xlDriver");
// 创建连接(指向包含 Excel 文件的目录)
String url = "jdbc:xlsql:excel:/path/to/excel/files";
Connection conn = DriverManager.getConnection(url);
// 执行 SQL 查询
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM test2_Sheet1 LIMIT 10");
// 处理结果
while (rs.next()) {
System.out.println(rs.getString(1));
}
// 关闭资源
rs.close();
stmt.close();
conn.close();
在 DBeaver 中使用
-
打开 DBeaver,进入 Database → Driver Manager
-
点击 New 创建新驱动
-
填写驱动信息:
-
Driver Name: Excel JDBC Driver
-
Class Name:
io.github.daichangya.xlsql.jdbc.xlDriver -
URL Template:
jdbc:xlsql:excel:{path}
-
在 Libraries 标签页添加
xlsql-5.1.1.jar文件 -
创建新连接,JDBC URL 格式:
jdbc:xlsql:excel:/path/to/excel/files
详细配置说明请参考:DBeaver 集成指南
SQL 查询示例
-- 查询所有数据
SELECT * FROM test1_Sheet1;
-- 条件查询
SELECT * FROM test1_Sheet1 WHERE column1 = 'value';
-- 聚合查询
SELECT COUNT(*), AVG(column2) FROM test1_Sheet1;
-- 多表 JOIN
SELECT a.*, b.*
FROM test1_Sheet1 a
LEFT JOIN test2_Sheet1 b ON a.id = b.id;
-- 排序和限制
SELECT * FROM test1_Sheet1
ORDER BY column1 DESC
LIMIT 10;
系统要求
-
Java: JDK 8 或更高版本
-
操作系统: Windows、Linux、macOS
下载和链接
-
Maven Central: https://search.maven.org/artifact/io.github.daichangya/xlsql
直接下载 JAR 文件
-
标准 JAR: https://repo1.maven.org/maven2/io/github/daichangya/xlsql/5.1.1/xlsql-5.1.1.jar
-
Shaded JAR(包含所有依赖): https://repo1.maven.org/maven2/io/github/daichangya/xlsql/5.1.1/xlsql-5.1.1-shaded.jar
为什么选择 XLSQL?
-
简单易用:如果你会 SQL,就能立即上手,无需学习新的语法
-
标准接口:使用标准 JDBC 接口,兼容所有支持 JDBC 的工具和框架
-
轻量高效:自研引擎,零外部数据库依赖,运行更轻量
-
功能完整:支持 SELECT、JOIN、聚合函数、分组、排序等常用 SQL 功能
-
持续更新:项目活跃维护,已从 JDK 1.4 升级到 Java 8+,代码现代化
适用人群
-
数据分析人员,需要快速分析 Excel 数据 -
Java 开发者,需要在项目中处理 Excel 文件 -
数据库管理员,习惯用 SQL 处理数据 -
任何需要将 Excel 当作数据库来查询的用户

