用easyexcel写导入、导出excel的接口
时间: 2024-03-13 15:19:40 浏览: 127
easy-excel导入导出
使用 EasyExcel 可以方便地实现 Excel 的导入和导出功能,下面是导入和导出 Excel 的示例代码:
导入 Excel:
```java
@PostMapping("/import")
public String importExcel(MultipartFile file) throws IOException {
// 读取 Excel 文件
InputStream inputStream = file.getInputStream();
List<DemoData> list = new ArrayList<>();
EasyExcel.read(inputStream, DemoData.class, new DemoDataListener(list)).sheet().doRead();
// 处理 Excel 数据
// ...
return "导入成功";
}
```
导出 Excel:
```java
@GetMapping("/export")
public void exportExcel(HttpServletResponse response) throws IOException {
// 准备 Excel 数据
List<DemoData> list = new ArrayList<>();
list.add(new DemoData("张三", 20));
list.add(new DemoData("李四", 21));
list.add(new DemoData("王五", 22));
// 导出 Excel 文件
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("demo.xlsx", "UTF-8"));
EasyExcel.write(response.getOutputStream(), DemoData.class).sheet("数据").doWrite(list);
}
```
其中 `DemoData` 是自定义的数据模型,`DemoDataListener` 是实现了 `AnalysisEventListener` 接口的监听器,用于读取 Excel 数据并将其转换为 Java 对象。`EasyExcel.read()` 方法用于读取 Excel 文件,`EasyExcel.write()` 方法用于写入 Excel 文件。
阅读全文