EasyExcel 数据导出公共方法
时间: 2023-10-13 18:10:39 浏览: 96
EasyExcel 是一款基于 Java 的 Excel 操作开源库,在数据导出方面非常方便实用。下面是一个使用 EasyExcel 实现数据导出的公共方法示例:
```java
/**
* 使用 EasyExcel 导出 Excel 文件
*
* @param response HttpServletResponse 响应对象
* @param clazz 数据实体类
* @param data 数据列表
* @param fileName 文件名
* @throws IOException
*/
public static <T> void exportExcel(HttpServletResponse response, Class<T> clazz, List<T> data, String fileName)
throws IOException {
// 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
// 写入 Excel 数据
try (OutputStream out = response.getOutputStream()) {
// 初始化 Excel 写入器
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX);
// 写入表头
Sheet sheet = new Sheet(1, 0, clazz);
sheet.setSheetName(fileName);
writer.write(new ArrayList<>(0), sheet);
// 写入数据
writer.write(data, sheet);
// 关闭 Excel 写入器
writer.finish();
}
}
```
这个方法接收一个 HttpServletResponse 响应对象、数据实体类、数据列表和文件名作为参数,并将数据写入 Excel 文件中,最终通过响应对象返回客户端下载。
阅读全文