使用EasyExcel进行导出文件
1.创建SpringBoot项目,导入依赖
<parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.7.6</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.7.6</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>3.5.2</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.1.3</version> </dependency> </dependencies>
2.创建一个所需实体类,例如User
@TableName("user")
@Data
public class User implements Serializable {
@ExcelProperty("主键")
private int id;
@ExcelProperty("姓名")
private String name;
@ExcelProperty("性别")
private String sex;
@ExcelProperty("年龄")
private String age;
@ExcelProperty("账号")
private String userName;
@ExcelProperty("密码")
private String passWord;
@ExcelProperty("邮箱")
private String email;
}
3.创建启动器和resource资源文件
//启动器 @SpringBootApplication public class testApplication { public static void main(String[] args) { SpringApplication.run(testApplication.class, args); } } //配置文件 server.port=8081
4.创建一个测试Controller
@RestController @RequestMapping("test") public class testController { @GetMapping("/exportExcel") public void exportTable(HttpServletResponse response) throws IOException { List<User> list = new ArrayList<>(); for (int i = 0; i < 3; i++) { User user = new User(); user.setId(1); user.setName("张三"); user.setAge("21"); list.add(user); } response.setContentType("application/vnd.ms-excel"); response.setHeader("content-disposition", "attachment;fileName=eventList.xlsx"); ExcelWriterBuilder builder = EasyExcel.write(response.getOutputStream(), userDto.class); ExcelWriterSheetBuilder sheet = builder.sheet(); ArrayList<userDto> dtos = new ArrayList<>(); for (User user : list) { userDto dto = new userDto(); BeanUtils.copyProperties(user, dto); dtos.add(dto); } sheet.doWrite(dtos); } }
5.启动项目,页面上访问路径即可
也可参考 https://www.jianshu.com/p/8f3defdc76d4

浙公网安备 33010602011771号