java导出数据到excel并在浏览器下载
时间: 2023-06-14 16:05:07 浏览: 65
要在Java中将数据导出到Excel并在浏览器中下载,可以使用Apache POI库。下面是一个简单的示例:
```java
public void exportToExcel(List<MyData> dataList, HttpServletResponse response) throws IOException {
// 创建一个工作簿
Workbook workbook = new XSSFWorkbook();
// 创建一个工作表
Sheet sheet = workbook.createSheet("My Data");
// 创建标题行
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("ID");
headerRow.createCell(1).setCellValue("Name");
headerRow.createCell(2).setCellValue("Age");
// 创建数据行
int rowNum = 1;
for (MyData data : dataList) {
Row dataRow = sheet.createRow(rowNum++);
dataRow.createCell(0).setCellValue(data.getId());
dataRow.createCell(1).setCellValue(data.getName());
dataRow.createCell(2).setCellValue(data.getAge());
}
// 设置响应头信息
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=mydata.xlsx");
// 将工作簿写入响应输出流
OutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
outputStream.close();
}
```
在上面的示例中,我们首先创建一个工作簿和一个工作表,并在工作表中创建标题行和数据行。然后,我们设置响应头信息,将工作簿写入响应输出流,并关闭输出流。最后,我们在调用该方法时传递数据列表和响应对象,以便将数据导出到Excel并在浏览器中下载。