java实现excel导入导出数据库
时间: 2023-11-21 12:00:57 浏览: 187
实现Excel导入导出数据库可以使用Apache POI和JDBC技术。下面是一个简单的示例:
1. 导入Excel文件到数据库
```java
FileInputStream file = new FileInputStream(new File("path/to/excel/file.xlsx"));
// 创建工作簿
Workbook workbook = new XSSFWorkbook(file);
// 获取第一个工作表
Sheet sheet = workbook.getSheetAt(0);
// 连接数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", "username", "password");
// 遍历每一行并插入数据库
for (Row row : sheet) {
PreparedStatement statement = conn.prepareStatement("INSERT INTO table_name (column1, column2, ...) VALUES (?, ?, ...)");
statement.setString(1, row.getCell(0).getStringCellValue());
statement.setInt(2, (int) row.getCell(1).getNumericCellValue());
// 设置其他参数
statement.executeUpdate();
}
// 关闭资源
workbook.close();
file.close();
conn.close();
```
2. 导出数据库到Excel文件
```java
// 连接数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", "username", "password");
// 查询数据
Statement statement = conn.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM table_name");
// 创建工作簿和工作表
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
// 写入数据
int rownum = 0;
while (resultSet.next()) {
Row row = sheet.createRow(rownum++);
row.createCell(0).setCellValue(resultSet.getString("column1"));
row.createCell(1).setCellValue(resultSet.getInt("column2"));
// 写入其他列
}
// 输出到文件
FileOutputStream file = new FileOutputStream(new File("path/to/excel/file.xlsx"));
workbook.write(file);
// 关闭资源
workbook.close();
file.close();
conn.close();
```
以上示例只是一个简单的实现,需要根据具体需求进行修改和完善。
阅读全文