java 导入excel数据并存到数据库
开发百科
2025年11月21日 00:10 242
admin
Java导入Excel数据并存储到数据库的完整指南
在现代软件开发中,经常需要将Excel文件中的数据导入到数据库中进行进一步的处理或分析,使用Java编程语言,我们可以借助Apache POI库来读取Excel文件,并利用JDBC(Java Database Connectivity)来将数据存储到数据库中,本文将详细介绍如何使用Java实现这一功能,包括必要的步骤和代码示例。
确保你的开发环境中已经安装了Apache POI库和适合你的数据库类型的JDBC驱动,如果你使用的是MySQL数据库,你需要下载MySQL的JDBC驱动并将其添加到项目的构建路径中。
我们将编写Java代码来导入Excel数据并存储到数据库中,以下是一个简单的例子,演示如何从一个名为"data.xlsx"的Excel文件中读取数据,并将这些数据插入到一个名为"users"的MySQL数据库表中。

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Iterator;
public class ExcelToDatabase {
public static void main(String[] args) {
String jdbcURL = "jdbc:mysql://localhost:3306/your_database";
String username = "your_username";
String password = "your_password";
try (Connection connection = DriverManager.getConnection(jdbcURL, username, password);
FileInputStream inputStream = new FileInputStream("data.xlsx");
Workbook workbook = new XSSFWorkbook(inputStream)) {
Sheet firstSheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = firstSheet.iterator();
while (rowIterator.hasNext()) {
Row currentRow = rowIterator.next();
Iterator<Cell> cellIterator = currentRow.iterator();
int idColumn = 0;
int nameColumn = 1;
int emailColumn = 2;
int id = (int) cellIterator.next().getNumericCellValue();
String name = cellIterator.next().getStringCellValue();
String email = cellIterator.next().getStringCellValue();
try (PreparedStatement statement = connection.prepareStatement("INSERT INTO users (id, name, email) VALUES (?, ?, ?)")) {
statement.setInt(1, id);
statement.setString(2, name);
statement.setString(3, email);
statement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上面的代码中,我们首先建立了与MySQL数据库的连接,我们打开了Excel文件并读取了第一个工作表,对于每一行,我们提取了ID、姓名和电子邮件地址,并使用PreparedStatement将这些数据插入到"users"表中。

这只是一个基本的例子,实际应用中可能需要处理更多的细节,比如错误处理、数据验证等。
标签: 导入Excel
相关文章

发表评论