springboot整合excel导出组件
时间: 2023-12-11 20:30:55 浏览: 101
springboot实现Excel文件导入与导出功能
以下是SpringBoot整合EasyExcel模板导出Excel的步骤:
1.创建SpringBoot项目
2.在pom.xml文件中添加EasyExcel依赖
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
```
3.创建Excel模板
4.编写实体类,用于映射Excel中的数据
5.编写Excel导出工具类
```java
public class ExcelUtil {
/**
* 导出 Excel :一个 sheet,带表头.
*
* @param sheetName sheet 名称
* @param clazz 实体类对象,通过 annotation 设置标题
* @param data 实体类对象数据 list
* @param out 输出流
*/
public static void exportExcel(String sheetName, Class clazz, List data, OutputStream out) {
ExcelWriter writer = EasyExcelFactory.getWriter(out);
//写第一个sheet,sheet1 数据全是List<String> 无模型映射关系
Sheet sheet = new Sheet(1, 0, clazz);
sheet.setSheetName(sheetName);
//设置自适应宽度
sheet.setAutoWidth(Boolean.TRUE);
//写数据到 Writer 上下文中
writer.write(data, sheet);
//将上下文中的最终 outputStream 写入到指定文件中
writer.finish();
}
}
```
6.在Controller中调用Excel导出工具类
```java
@GetMapping("/export")
public void export(HttpServletResponse response) throws IOException {
//查询数据
List<User> userList = userService.getUserList();
//设置文件名
String fileName = "用户信息表";
//设置响应头
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xlsx");
//导出Excel
ExcelUtil.exportExcel(fileName, User.class, userList, response.getOutputStream());
}
```
阅读全文