uniapp 导出excel 使用java easyexcel
时间: 2023-10-23 18:15:09 浏览: 185
轻松实现java导出Excel
Uniapp 可以通过将数据传输到后端,由后端使用 Java 的 EasyExcel 库进行 Excel 导出。下面是一个简单的示例:
前端代码:
```
exportExcel() {
uni.request({
url: 'http://localhost:8080/exportExcel',
method: 'POST',
responseType: 'arraybuffer',
data: {
// 发送需要导出的数据
data: this.tableData
},
success: (res) => {
// 下载 Excel 文件
uni.downloadFile({
url: 'http://localhost:8080/' + res.header['filename'],
success: (res) => {
uni.saveFile({
tempFilePath: res.tempFilePath,
success: (res) => {
uni.showToast({
icon: 'none',
title: '导出成功'
})
}
})
}
})
}
})
}
```
后端代码:
```
@PostMapping("/exportExcel")
public void exportExcel(@RequestBody List<Object> data, HttpServletResponse response) {
try {
// 创建工作簿
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
// 创建工作表
WriteSheet writeSheet = EasyExcel.writerSheet(0, "Sheet1").build();
// 写入数据
EasyExcel.write(response.getOutputStream()).sheet(0).doWrite(data);
// 关闭工作簿
excelWriter.finish();
// 设置响应头
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("filename.xlsx", "UTF-8"));
} catch (IOException e) {
e.printStackTrace();
}
}
```
在前端代码中,我们通过 uni.request 方法将需要导出的数据发送到后端,后端接收到数据后,使用 EasyExcel 创建工作簿和工作表,并将数据写入 Excel 中。最后,设置响应头,将 Excel 文件返回给前端进行下载。
阅读全文