springboot post文件下载Workbook
时间: 2023-10-16 19:23:42 浏览: 164
您可以使用Apache POI库来创建Excel文件并将其作为响应返回给用户进行下载。以下是一个使用Spring Boot的示例代码,其中包括创建Excel文件、将其写入响应流以及设置响应头:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@RestController
public class ExcelController {
@PostMapping("/download-excel")
public ResponseEntity<byte[]> downloadExcel(HttpServletResponse response) throws IOException {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet 1");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Hello, World!");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", "example.xlsx");
workbook.write(response.getOutputStream());
return new ResponseEntity<>(response.getOutputStream().toByteArray(), headers, HttpStatus.OK);
}
}
```
在上面的示例中,我们创建了一个名为“Sheet 1”的工作表,并在第一行第一列中添加了一条消息。然后,我们设置了响应头,指定了要下载的文件名和文件类型。最后,我们将Excel工作簿写入响应流,并将其作为响应主体返回给用户进行下载。
阅读全文