poi导入excel到数据库
时间: 2023-07-29 22:08:30 浏览: 110
Java实现批量导入excel表格数据到数据库中的方法
要将Excel数据导入到数据库,可以使用Apache POI和JDBC等工具。下面是一个简单的步骤:
1. 使用POI读取Excel文件中的数据;
2. 将数据存储到Java对象中;
3. 使用JDBC将Java对象中的数据插入到数据库中。
以下是一个示例代码,将Excel中的数据导入到MySQL数据库中:
```java
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelToDatabase {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/mydb";
String username = "root";
String password = "mypassword";
try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
File file = new File("data.xlsx");
FileInputStream fis = new FileInputStream(file);
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet sheet = workbook.getSheetAt(0);
String sql = "INSERT INTO mytable (id, name, age) VALUES (?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
for (Row row : sheet) {
Cell idCell = row.getCell(0);
Cell nameCell = row.getCell(1);
Cell ageCell = row.getCell(2);
int id = (int) idCell.getNumericCellValue();
String name = nameCell.getStringCellValue();
int age = (int) ageCell.getNumericCellValue();
pstmt.setInt(1, id);
pstmt.setString(2, name);
pstmt.setInt(3, age);
pstmt.executeUpdate();
}
pstmt.close();
workbook.close();
fis.close();
System.out.println("Data imported successfully!");
} catch (SQLException | IOException e) {
e.printStackTrace();
}
}
}
```
这个代码片段使用了POI读取Excel文件中的数据,并且使用JDBC将数据插入到MySQL数据库中。请注意,在实际使用时需要根据自己的实际情况修改代码。
阅读全文