从Excel导入数据到数据库的Java实现
在实际项目开发中,有时候我们需要从Excel表格中导入数据到数据库中,这在数据迁移、数据同步等场景下非常常见。本文将介绍如何使用Java来实现从Excel导入数据到数据库的功能,并提供相应的代码示例。
准备工作
在开始之前,我们需要准备以下工作:
- Excel表格:包含需要导入的数据。
- 数据库:用于存储导入的数据。
- Java开发环境:IDE、JDK等。
导入数据流程
下面我们将通过一个简单的示例来演示从Excel导入数据到数据库的流程:
序列图
sequenceDiagram
participant Excel
participant Java
participant Database
Excel->>Java: 读取Excel数据
Java->>Database: 将数据插入数据库
数据库表设计
在本示例中,假设我们要导入的数据是学生信息,我们需要创建一个学生信息表来存储这些数据。
erDiagram
STUDENT {
int student_id
varchar student_name
varchar student_email
}
Java代码实现
首先,我们需要使用Apache POI库来读取Excel数据,然后使用JDBC连接数据库并将数据插入到数据库中。
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 ExcelToDatabase {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/mydb";
String username = "root";
String password = "root";
try {
Connection connection = DriverManager.getConnection(jdbcUrl, username, password);
PreparedStatement statement = connection.prepareStatement("INSERT INTO STUDENT (student_name, student_email) VALUES (?, ?)");
FileInputStream file = new FileInputStream(new File("students.xlsx"));
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
String name = row.getCell(0).getStringCellValue();
String email = row.getCell(1).getStringCellValue();
statement.setString(1, name);
statement.setString(2, email);
statement.executeUpdate();
}
connection.close();
file.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上面的代码中,我们首先建立了与数据库的连接,然后使用PreparedStatement将Excel中的数据插入到数据库中。
总结
通过本文的介绋,我们学习了如何使用Java来实现从Excel导入数据到数据库的功能。这对于实际项目中的数据迁移、数据同步等场景非常有用。希望本文能对你有所帮助,谢谢阅读!