EasyExcel springboot 公共方法 导出
时间: 2023-10-16 07:09:51 浏览: 96
以下是一个使用 EasyExcel 导出 Excel 文件的示例代码,该代码可以在 Spring Boot 中作为公共方法使用:
```java
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.List;
@Component
public class ExcelExportUtil {
public void exportExcel(HttpServletResponse response, List<?> data, Class<?> clazz, String fileName) throws IOException {
// 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 对文件名进行编码,解决中文文件名乱码问题
fileName = URLEncoder.encode(fileName, "UTF-8");
// 设置响应头,告诉浏览器文件名
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
// 创建 ExcelWriter 对象
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), clazz).build();
// 创建 WriteSheet 对象
WriteSheet writeSheet = EasyExcel.writerSheet().build();
// 写入数据
excelWriter.write(data, writeSheet);
// 关闭 ExcelWriter 对象
excelWriter.finish();
}
}
```
该方法接收 HttpServletResponse 对象、数据列表、数据类和文件名作为参数,将数据列表写入 Excel 文件并将其作为附件下载到客户端。可以在 Spring Boot 中将该方法注入到任何需要导出 Excel 文件的服务中。
阅读全文