Java数据库连接:JDBC详解Java作为一种广泛使用的编程语言,其在数据库操作方面同样表现出色,Java的数据库连接是通过JDBC(Java Da...
2025-11-17 242 va
Java读取Excel文件并写入数据库的详细步骤解析
在当今信息化时代,数据是企业决策的重要依据,Excel作为一种广泛使用的数据存储格式,常常需要被导入到数据库中进行进一步的处理和分析,本文将详细介绍如何使用Java编程语言读取Excel文件,并将其中的数据写入数据库,这一过程涉及到Apache POI库用于处理Excel文件,以及JDBC用于连接和操作数据库。
为了完成这项任务,首先需要在项目中引入Apache POI库来处理Excel文件,以及一个适合的JDBC驱动来连接数据库,这些库可以通过Maven或Gradle等构建工具添加到项目中。

使用Apache POI库中的API可以很方便地读取Excel文件,这里我们以最常见的.xlsx格式为例,介绍如何读取Excel文件中的数据。
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.util.Iterator;
public class ExcelReader {
public static List<List<String>> readExcel(String filePath) throws Exception {
FileInputStream fis = new FileInputStream(filePath);
Workbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
Iterator<Row> rowIterator = sheet.iterator();
List<List<String>> data = new ArrayList<>();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
List<String> cellData = new ArrayList<>();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
cellData.add(getCellValue(cell));
}
data.add(cellData);
}
workbook.close();
return data;
}
private static String getCellValue(Cell cell) {
switch (cell.getCellType()) {
case STRING:
return cell.getStringCellValue();
case NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
return cell.getDateCellValue().toString();
} else {
return Double.toString(cell.getNumericCellValue());
}
case BOOLEAN:
return Boolean.toString(cell.getBooleanCellValue());
case FORMULA:
return cell.getCellFormula();
default:
return "";
}
}
}
连接到数据库并写入数据
我们需要使用JDBC连接到数据库,并将从Excel文件中读取的数据写入数据库,这里我们以MySQL数据库为例进行说明。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
public class DatabaseWriter {
private static final String URL = "jdbc:mysql://localhost:3306/yourdatabase";
private static final String USER = "root";
private static final String PASSWORD = "password";
public static void writeToDatabase(List<List<String>> data, String tableName) throws SQLException {
String sql = "INSERT INTO " + tableName + " (column1, column2, column3) VALUES (?, ?, ?)";
try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
for (List<String> row : data) {
pstmt.setString(1, row.get(0));
pstmt.setString(2, row.get(1));
pstmt.setString(3, row.get(2)); // 根据实际列数调整参数位置
pstmt.executeUpdate();
}
}
}
}
整合流程
我们需要将读取Excel文件和写入数据库的逻辑整合到一个方法中,以便执行整个流程。

public static void main(String[] args) {
try {
List<List<String>> data = ExcelReader.readExcel("path_to_excel_file.xlsx");
DatabaseWriter.writeToDatabase(data, "target_table");
} catch (Exception e) {
e.printStackTrace();
}
}
通过以上步骤,我们可以成功地将Excel文件中的数据读取出来,并写入到数据库中,这个过程虽然涉及到多个技术点,但只要按照步骤逐一实现,就能够顺利完成,希望这篇文章对您有所帮助!
标签: va
相关文章
Java数据库连接:JDBC详解Java作为一种广泛使用的编程语言,其在数据库操作方面同样表现出色,Java的数据库连接是通过JDBC(Java Da...
2025-11-17 242 va
发表评论