java excel导出下载_Java导出excel并下载功能
时间: 2023-08-04 13:06:39 浏览: 100
好的,这个问题我可以回答。Java可以使用Apache POI库来导出Excel文件,并使用Servlet API提供的响应对象将导出的Excel文件发送给浏览器进行下载。
以下是一个简单的示例代码:
```java
// 创建工作簿和工作表
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
// 创建表头行
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("姓名");
headerRow.createCell(1).setCellValue("年龄");
// 填充数据
Row dataRow = sheet.createRow(1);
dataRow.createCell(0).setCellValue("张三");
dataRow.createCell(1).setCellValue(20);
// 将工作簿写入输出流
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
workbook.write(outputStream);
// 设置响应头信息
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=example.xlsx");
response.setContentLength(outputStream.size());
// 将输出流中的数据发送给浏览器进行下载
ServletOutputStream servletOutputStream = response.getOutputStream();
outputStream.writeTo(servletOutputStream);
servletOutputStream.flush();
servletOutputStream.close();
```
这个示例代码创建了一个工作簿和一个工作表,并向工作表中添加了表头和数据。然后,使用ByteArrayOutputStream将工作簿写入输出流中,并设置响应头信息。最后,将输出流中的数据发送给浏览器进行下载。
注意,这个示例代码中的response对象是Servlet API提供的响应对象,需要在Servlet中使用。如果你在其他类型的Java应用程序中使用导出Excel并下载的功能,需要使用相应的响应对象来替代response对象。
阅读全文