java实现mysql导出excel
时间: 2024-09-19 12:05:34 浏览: 72
在Java中,我们可以使用JDBC连接MySQL数据库,并结合Apache POI库来生成Excel文件。以下是一个简单的步骤说明:
1. 添加依赖:首先,你需要将Apache POI(特别是`poi-ooxml`模块,用于处理Excel 2007及以上版本)添加到项目中。如果你使用Maven,可以在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency>
```
2. 连接数据库:使用JDBC创建一个Connection对象,设置驱动、URL、用户名和密码。
```java
import java.sql.Connection;
import java.sql.DriverManager;
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "username";
String password = "password";
try {
Connection conn = DriverManager.getConnection(url, user, password);
// ... (数据库操作)
} catch (Exception e) {
e.printStackTrace();
}
```
3. 获取数据:执行SQL查询,获取需要导出的数据。
4. 创建Excel工作簿:使用`Workbook`对象初始化一个新的Excel工作簿。
```java
import org.apache.poi.ss.usermodel.*;
Workbook workbook = WorkbookFactory.create(true); // 使用XSSFWorkbook支持Excel 2007及以上版本
Sheet sheet = workbook.createSheet("Sheet1");
```
5. 写入数据:遍历结果集,将数据写入Excel表格的行和列。
```java
Row row = sheet.createRow(0); // 第一行作为表头
cell = row.createCell(0);
cell.setCellValue("Column 1");
// 遍历查询结果并写入对应单元格
ResultSetMetaData meta = resultSet.getMetaData();
for (int i = 1; i <= meta.getColumnCount(); i++) {
cell = row.createCell(i);
cell.setCellValue(resultSet.getString(i));
row = sheet.createRow(i + 1); // 新建一行
}
6. 保存Excel:关闭连接和工作簿,然后写入磁盘。
```java
try {
workbook.write(outputStream);
workbook.close();
} finally {
if (conn != null) {
conn.close();
}
}
```
阅读全文