java查询mysql数据库,导出excel文件流给前端
时间: 2024-02-22 22:05:44 浏览: 252
可以使用Java中的JDBC连接MySQL数据库,并使用Apache POI库将查询结果导出为Excel文件流,然后将文件流返回给前端。以下是一个简单的代码示例:
```java
// 1. 加载MySQL JDBC驱动
Class.forName("com.mysql.jdbc.Driver");
// 2. 连接MySQL数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname", "username", "password");
// 3. 执行查询操作
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM table");
// 4. 创建Excel工作簿对象
Workbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet("sheet1");
// 5. 将查询结果写入Excel文件中
int rownum = 0;
while (rs.next()) {
Row row = sheet.createRow(rownum++);
row.createCell(0).setCellValue(rs.getString("col1"));
row.createCell(1).setCellValue(rs.getString("col2"));
row.createCell(2).setCellValue(rs.getString("col3"));
// ...
}
// 6. 将Excel文件流写入HTTP响应中
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=myfile.xls");
OutputStream out = response.getOutputStream();
workbook.write(out);
out.flush();
out.close();
// 7. 关闭数据库连接
rs.close();
stmt.close();
conn.close();
```
注意,这只是一个简单的示例代码,实际应用中还需要处理异常、关闭资源等。
阅读全文