Java大批量Excel数据导入数据库
在实际的开发中,我们经常会面临将大批量的Excel数据导入到数据库的需求。本文将介绍如何使用Java来实现这一功能,同时提供代码示例和实际操作步骤。
准备工作
在开始之前,我们需要准备以下工具和环境:
- JDK
- Eclipse或IntelliJ IDEA等Java开发工具
- MySQL数据库
- Apache POI库(用于操作Excel文件)
- JDBC驱动(用于连接数据库)
操作步骤
1. 创建数据库表
首先,在MySQL数据库中创建一个表,用于存储Excel数据。例如,我们创建一个名为employee
的表,包含id
, name
, age
, salary
字段:
CREATE TABLE employee (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT,
salary DOUBLE
);
2. 编写Java代码
接下来,我们编写Java代码,使用Apache POI库读取Excel文件,并将数据导入数据库。
import org.apache.poi.ss.usermodel.*;
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class ExcelImporter {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/your_database";
String username = "your_username";
String password = "your_password";
try {
Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO employee (name, age, salary) VALUES (?, ?, ?)");
FileInputStream file = new FileInputStream(new File("data.xlsx"));
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
if (row.getRowNum() == 0) {
continue;
}
String name = row.getCell(0).getStringCellValue();
int age = (int) row.getCell(1).getNumericCellValue();
double salary = row.getCell(2).getNumericCellValue();
pstmt.setString(1, name);
pstmt.setInt(2, age);
pstmt.setDouble(3, salary);
pstmt.executeUpdate();
}
pstmt.close();
conn.close();
file.close();
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3. 运行代码
在运行代码之前,确保已经将Excel文件命名为data.xlsx
并放在项目根目录下。然后执行Java程序,即可将Excel数据导入到数据库。
总结
本文介绍了如何使用Java实现大批量Excel数据导入数据库的操作。通过Apache POI库和JDBC驱动,我们可以方便地读取Excel文件并将数据存储到数据库中。希望本文对您有所帮助!
pie
title 数据分析结果
"20%" : 20
"30%" : 30
"50%" : 50
journey
title 数据导入流程
section 数据准备
section 代码编写
section 运行程序
通过以上操作步骤和代码示例,您可以轻松地实现大批量Excel数据导入数据库的功能。祝您顺利完成!