java实现excel下载
时间: 2023-08-09 13:07:26 浏览: 51
要在Java中实现Excel文件的下载,你可以使用Apache POI库来生成Excel文件,并使用Java Servlet或Spring MVC来处理下载请求。以下是一个简单的示例代码:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class ExcelDownloader {
public static void downloadExcel(HttpServletResponse response) throws IOException {
// 创建工作簿
Workbook workbook = new XSSFWorkbook();
// 创建工作表
Sheet sheet = workbook.createSheet("Sheet1");
// 创建行
Row headerRow = sheet.createRow(0);
// 创建单元格
Cell headerCell1 = headerRow.createCell(0);
headerCell1.setCellValue("姓名");
Cell headerCell2 = headerRow.createCell(1);
headerCell2.setCellValue("年龄");
// 创建数据行
Row dataRow = sheet.createRow(1);
Cell dataCell1 = dataRow.createCell(0);
dataCell1.setCellValue("张三");
Cell dataCell2 = dataRow.createCell(1);
dataCell2.setCellValue(25);
// 设置响应头
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition", "attachment; filename=example.xlsx");
// 写入响应流
workbook.write(response.getOutputStream());
workbook.close();
}
}
```
在你的Servlet或Controller中,调用`ExcelDownloader.downloadExcel(response)`方法来触发下载:
```java
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ExcelDownloader.downloadExcel(response);
}
}
```
这样,当你访问对应的Servlet或Controller时,就会自动下载名为"example.xlsx"的Excel文件。记得将代码中的内容替换为你实际需要的数据和文件名。