springboot+vue 导出excel
时间: 2023-10-22 14:09:09 浏览: 189
基于SpringBoot+Vue的教师人事档案管理系统(源码+部署说明+系统介绍).zip
可以使用Apache POI库来实现在Spring Boot和Vue中导出Excel。具体步骤如下:
1. 在后端使用POI库创建Excel文件并填充数据。
2. 将Excel文件转换为字节数组。
3. 在前端使用axios发送POST请求,将字节数组作为响应体返回。
4. 在前端使用file-saver库将响应体保存为Excel文件。
以下是一个简单的示例代码:
后端代码:
```java
@GetMapping("/export")
public ResponseEntity<byte[]> 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文件转换为字节数组
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
workbook.write(outputStream);
byte[] bytes = outputStream.toByteArray();
// 设置响应头
HttpHeaders headers = new HttpHeaders();
headers.setContentDispositionFormData("attachment", "example.xlsx");
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
return new ResponseEntity<>(bytes, headers, HttpStatus.OK);
}
```
前端代码:
```javascript
import axios from 'axios';
import { saveAs } from 'file-saver';
export function exportExcel() {
axios({
url: '/api/export',
method: 'GET',
responseType: 'arraybuffer'
}).then(response => {
const blob = new Blob([response.data], { type: 'application/vnd.ms-excel' });
saveAs(blob, 'example.xlsx');
});
}
```
阅读全文