SpringBoot利用EasyExcel实现导出数据
1. EasyExcel 介绍
EasyExcel 官网介绍 传统操作Excel大多都是利用 Apach POI 进行操作的,但是 POI
框架并不完善,使用过程非常繁琐且有较多的缺陷:
动态操作Excel非常繁琐,对于新手来说,很难在短时间内上手;
读写时需要占用较大的内存,当数据量大时容易发生内存溢出问题(OOM); 基于上述原因,阿里开源出一款易上手,且比较节省内存的Excel操作框架:EasyExcel
注意:easyExcel底层使用POI实现的;
官网地址:EasyExcel(文档已经迁移) (yuque.com)
2. 导出
2.1 引入依赖
<!--引入easyexcel--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.0.4</version> </dependency>
2.2 构建测试实体类
@Data @NoArgsConstructor @AllArgsConstructor @Builder public class User implements Serializable { @ExcelProperty(value = {"用户名"},index = 0) private String userName; @ExcelProperty(value = {"年龄"},index = 1) private Integer age; @ExcelProperty(value = {"地址"} ,index = 2) private String address; @ExcelProperty(value = {"生日"},index = 3) //注意:日期格式注解由alibaba.excel提供 // @DateTimeFormat("yyyy-MM-dd HH:mm") private Date birthday; }
导出代码
public static void main(String[] args) { //组装数据 ArrayList<User> users = new ArrayList<>(); for (int i = 0; i < 10; i++) { User user = new User(); user.setAddress("西安" + i); user.setUserName("张三" + i); user.setBirthday(new Date()); user.setAge(10 + i); users.add(user); } //不做任何注解处理时,表头名称与实体类属性名称一致 EasyExcel.write("D:\\用户.xlsx", User.class).sheet("用户信息").doWrite(users); }
导出效果
3. 设置单元格大小
类上添加 如下注解
@HeadRowHeight(value = 35) // 表头行高 @ContentRowHeight(value = 25) // 内容行高 @ColumnWidth(value = 50) // 列宽
@Data @NoArgsConstructor @AllArgsConstructor @Builder @HeadRowHeight(value = 35) // 表头行高 @ContentRowHeight(value = 25) // 内容行高 @ColumnWidth(value = 50) // 列宽 public class User implements Serializable { @ExcelProperty(value = {"用户名"},index = 0) private String userName; @ExcelProperty(value = {"年龄"},index = 1) private Integer age; @ExcelProperty(value = {"地址"} ,index = 2) private String address; @ExcelProperty(value = {"生日"},index = 3) //注意:日期格式注解由alibaba.excel提供 // @DateTimeFormat("yyyy-MM-dd HH:mm") private Date birthday; }
效果如下:
到此这篇关于SpringBoot利用EasyExcel实现导出数据的文章就介绍到这了,更多相关SpringBoot EasyExcel导出数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
java.io.UnsupportedEncodingException异常的正确解决方法(亲测有效!)
这篇文章主要给大家介绍了关于java.io.UnsupportedEncodingException异常的正确解决方法,文中介绍的办法亲测有效,java.io.UnsupportedEncodingException是Java编程语言中的一个异常类,表示指定的字符集不被支持,需要的朋友可以参考下2024-02-02java启动时自定义配置文件路径,自定义log4j2.xml位置方式
这篇文章主要介绍了java启动时自定义配置文件路径,自定义log4j2.xml位置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-08-08
最新评论