excel poi流方式导出代码
时间: 2023-07-09 22:26:44 浏览: 51
下面是使用POI流方式导出Excel的示例代码:
```java
// 创建Workbook对象
Workbook workbook = new XSSFWorkbook();
// 创建Sheet对象
Sheet sheet = workbook.createSheet("Sheet1");
// 创建表头行
Row headerRow = sheet.createRow(0);
// 设置表头内容
headerRow.createCell(0).setCellValue("姓名");
headerRow.createCell(1).setCellValue("年龄");
headerRow.createCell(2).setCellValue("性别");
// 假设有一些数据需要导出
List<User> userList = new ArrayList<>();
userList.add(new User("张三", 18, "男"));
userList.add(new User("李四", 20, "女"));
userList.add(new User("王五", 22, "男"));
// 遍历数据,生成行数据
int rowIndex = 1;
for (User user : userList) {
Row row = sheet.createRow(rowIndex++);
row.createCell(0).setCellValue(user.getName());
row.createCell(1).setCellValue(user.getAge());
row.createCell(2).setCellValue(user.getGender());
}
// 设置响应头
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=test.xlsx");
// 使用流将数据写入Excel文件
try (OutputStream outputStream = response.getOutputStream()) {
workbook.write(outputStream);
}
// 关闭Workbook对象
workbook.close();
```
其中,`User`类是一个简单的数据实体类,用于存储要导出的数据。这个示例代码中使用的是`XSSFWorkbook`,也就是基于XML格式的工作簿,如果需要生成老版本的Excel文件,可以改为使用`HSSFWorkbook`。