Java 使用 Apache POI 导入 Excel 数据到数据库54
Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel。以下指南将向您展示如何使用 Apache POI 从 Excel 文件中提取数据并将其导入到数据库中。
准备环境
在开始之前,确保您已在系统中安装了 Java、Apache POI 和 JDBC 驱动程序(用于连接到您的数据库)。您还可以下载 Apache POI 库并将 JAR 文件添加到您的项目中。
加载 Excel 文件
使用 Apache POI 的 WorkbookFactory 类加载 Excel 文件。这将创建一个 Workbook 对象,其中包含文件中的所有工作表。```java
Workbook workbook = (new FileInputStream(""));
```
提取数据
要从工作表中提取数据,请使用 Workbook 和 Sheet 对象。您可以访问每个工作表的行和列,并使用 getCell() 方法提取单元格值。```java
Sheet sheet = (0);
for (Row row : sheet) {
for (Cell cell : row) {
String value = ();
}
}
```
连接到数据库
使用 JDBC 连接到目标数据库。创建 Connection 对象并使用 Statement 对象准备并执行 SQL 查询。```java
Connection connection = ("jdbc:mysql://localhost/database", "username", "password");
Statement statement = ();
```
插入数据
准备一个 INSERT 查询并使用 setXXX() 方法设置参数值。执行此查询以将 Excel 数据插入数据库。```java
String sql = "INSERT INTO table_name (column1, column2) VALUES (?, ?)";
PreparedStatement preparedStatement = (sql);
(1, value1);
(2, value2);
();
```
关闭连接
在处理完成后,关闭 Statement、Connection 和 Workbook 对象以释放资源。```java
();
();
();
```
代码示例
这里是一个完整的代码示例,演示如何使用 Apache POI 和 JDBC 从 Excel 文件导入数据到数据库:```java
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
public class ExcelToDatabase {
public static void main(String[] args) {
try {
// 加载 Excel 文件
Workbook workbook = (new FileInputStream(""));
// 连接到数据库
Connection connection = ("jdbc:mysql://localhost/database", "username", "password");
// 准备 SQL 查询
String sql = "INSERT INTO table_name (column1, column2) VALUES (?, ?)";
PreparedStatement preparedStatement = (sql);
// 提取并插入数据
Sheet sheet = (0);
for (Row row : sheet) {
for (Cell cell : row) {
String value = ();
(1, value);
();
}
}
// 关闭连接
();
();
();
("数据已成功从 Excel 导入到数据库。");
} catch (Exception e) {
();
}
}
}
```
通过使用 Apache POI 和 JDBC,您可以轻松地从 Excel 文件中提取数据并将其导入到数据库中。这对于需要自动执行数据导入任务或从外部来源收集数据的应用程序非常有用。
2024-10-27
下一篇:Java项目开发代码最佳实践
Python字符串查找与判断:从基础到高级的全方位指南
https://www.shuihudhg.cn/134118.html
C语言如何高效输出字符串“inc“?深度解析printf、puts及格式化输出
https://www.shuihudhg.cn/134117.html
PHP高效获取CSV文件行数:从小型文件到海量数据的最佳实践与性能优化
https://www.shuihudhg.cn/134116.html
C语言控制台图形输出:从入门到精通的ASCII艺术实践
https://www.shuihudhg.cn/134115.html
Python在Linux环境下的执行与自动化:从基础到高级实践
https://www.shuihudhg.cn/134114.html
热门文章
Java中数组赋值的全面指南
https://www.shuihudhg.cn/207.html
JavaScript 与 Java:二者有何异同?
https://www.shuihudhg.cn/6764.html
判断 Java 字符串中是否包含特定子字符串
https://www.shuihudhg.cn/3551.html
Java 字符串的切割:分而治之
https://www.shuihudhg.cn/6220.html
Java 输入代码:全面指南
https://www.shuihudhg.cn/1064.html