XLSQL 允许您像操作数据库一样操作 Excel 文件。只需几个简单的步骤即可集成到您的 Java 项目中。
在您的 pom.xml 中添加以下依赖:
<dependency>
<groupId>io.github.daichangya</groupId>
<artifactId>xlsql</artifactId>
<version>5.1.1</version>
</dependency>
XLSQL 完全遵循 JDBC 标准,以下是一个完整的查询示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ExcelQuery {
public static void main(String[] args) throws Exception {
// 1. 注册驱动
Class.forName("io.github.daichangya.xlsql.jdbc.xlDriver");
// 2. 创建连接
// URL 格式: jdbc:xlsql:excel:/path/to/directory
String url = "jdbc:xlsql:excel:/data/excel_files";
try (Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement()) {
// 3. 执行查询
// 表名格式: "文件名.工作表名" (注意引号)
String sql = "SELECT * FROM sales_2024_Sheet1 WHERE amount > 1000";
try (ResultSet rs = stmt.executeQuery(sql)) {
while (rs.next()) {
System.out.println("Customer: " + rs.getString("Customer"));
System.out.println("Amount: " + rs.getDouble("Amount"));
}
}
}
}
}
DBeaver 是一个免费的通用数据库管理工具,您可以使用它来可视化查询和管理 Excel 文件。
DBeaver 是一个免费的通用数据库管理工具,支持多种数据库系统。
从 Maven Central 下载 Shaded JAR(推荐,包含所有依赖):
io.github.daichangya.xlsql.jdbc.xlDriverjdbc:xlsql:excel:{path}jdbc:xlsql:excel:/path/to/your/excel/files
示例:jdbc:xlsql:excel:/Users/username/Documents
连接成功后,您可以在 DBeaver 中:
-- 查询所有数据(表名格式:文件名_工作表名)
SELECT * FROM test1_Sheet1;
-- 条件查询
SELECT * FROM test1_Sheet1 WHERE column1 = 'value';
-- 聚合查询
SELECT COUNT(*) FROM test1_Sheet1;
-- 排序查询
SELECT * FROM test1_Sheet1 ORDER BY column1;
-- JOIN 查询
SELECT
c.customer_name,
o.order_id,
o.amount
FROM customers_Sheet1 c
JOIN orders_Sheet1 o ON c.customer_id = o.customer_id;
文件名_工作表名(使用下划线连接,文件名不包含扩展名)。
文件名_工作表名(下划线连接,文件名不包含扩展名),例如文件 sales.xlsx 的工作表 Sheet1 表示为 sales_Sheet1。
您可以通过环境变量或系统属性来配置 XLSQL。
| 变量名 | 描述 |
|---|---|
XLSQL_CONFIG_PATH |
配置文件路径 |
XLSQL_LOG_PATH |
日志文件路径 |
默认位置:~/.xlsql/xlsql_config.properties
# 数据库引擎 (hsqldb, h2 或 native)
engine=hsqldb
# HSQLDB 配置
hsqldb.url=jdbc:hsqldb:mem:xlsql
hsqldb.user=sa
hsqldb.password=
# H2 配置(可选)
h2.url=jdbc:h2:mem:xlsql
h2.user=sa
h2.password=
"文件名.工作表名",例如 "test_Sheet1"。