springboot导出excel并返回下载地址
时间: 2023-12-12 20:49:55 浏览: 127
springboot导出excel
5星 · 资源好评率100%
以下是一个示例代码,该代码使用Apache POI库创建Excel文件,然后将Excel文件保存到服务器上,并返回Excel文件的下载链接。
```java
@RestController
public class ExcelController {
@GetMapping(value = "/export")
public ResponseEntity<Resource> exportExcel() throws IOException {
// 创建Excel文件
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Hello, World!");
// 将Excel文件保存到服务器上
String fileName = "example.xlsx";
Path path = Paths.get(fileName);
FileOutputStream outputStream = new FileOutputStream(path.toFile());
workbook.write(outputStream);
workbook.close();
// 创建下载链接
InputStreamResource resource = new InputStreamResource(new FileInputStream(path.toFile()));
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Disposition", "attachment; filename=" + fileName);
headers.add(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel");
headers.add(HttpHeaders.CONTENT_LENGTH, String.valueOf(path.toFile().length()));
return ResponseEntity.ok()
.headers(headers)
.contentLength(path.toFile().length())
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(resource);
}
}
```
在这个示例中,我们使用XSSFWorkbook创建一个Excel文件,然后将它保存到服务器上的一个文件中。接下来,我们使用InputStreamResource将文件包装为一个可响应的资源,并将文件的下载链接返回给客户端。客户端可以使用这个链接下载Excel文件。
阅读全文