java EasyExcel集成及工具类使用-阿里云开发者社区

开发者社区> 七月的小熊> 正文

java EasyExcel集成及工具类使用

简介: EasyExcel简介 easyExcel是阿里巴巴开源poi插件之一,当前最新版本1.1.2-beta5,poi版本3.17,因此,集成时老版本poi需要提升poi版本,或者做版本隔离。 吐槽一下这个版本没有RELEASE版本 主要解决了poi框架使用复杂,sax解析模式不容易操作,数据量大起来容易OOM,解决了POI并发造成的报错 主要解决方式:通过解压文件的方式加载,一行一行的加载,并且抛弃样式字体等不重要的数据,降低内存的占用 具体实现原理,建议看github上的readme EasyExcel优势 注解式自定义操作。
+关注继续查看

EasyExcel简介

  • easyExcel是阿里巴巴开源poi插件之一,当前最新版本2.2.5,poi版本3.17,因此,集成时老版本poi需要提升poi版本,或者做版本隔离。
  • 吐槽一下这个版本没有RELEASE版本
  • 主要解决了poi框架使用复杂,sax解析模式不容易操作,数据量大起来容易OOM,解决了POI并发造成的报错
  • 主要解决方式:通过解压文件的方式加载,一行一行的加载,并且抛弃样式字体等不重要的数据,降低内存的占用
  • 具体实现原理,建议看github上的readme

EasyExcel优势

  • 注解式自定义操作。
  • 输入输出简单,提供输入输出过程的接口
  • 支持一定程度的单元格合并等灵活化操作

EasyExcel劣势

  • 框架不成熟,1.1.0版本后提供灵活接口的只剩beta版本
  • 依然存在一些bug
  • 没有一套完整的api

ExcelUtil快速使用

  • maven引用(版本控制内若存在低版本POI,请升级版本和代码,官方POI版本3.17):
<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>easyexcel</artifactId>
     <version>2.2.5</version>
</dependency>
  • 工具类:
    详见底部附带的github地址
  • 实体类继承BaseRowModel ,对需要导出或者导入的字段增加@ExcelProperty注解,index值为对应excel中的列,value为表头,format为日期格式化
public class PersonDto {
    /** id */
    @ExcelProperty(index = 0 , value = "id")
    private String id;
    /** 姓名 **/
    @ExcelProperty(index = 1 , value = "姓名")
    private String name;
    /** 生日 **/
    @ExcelProperty(index = 2 , value = "生日" , format = "yyyy-MM-dd")
    private String birth;
}

导出:

//单sheet输出
ExcelUtil.writeExcel(response, list, "导出测试", "sheet1", ExcelTypeEnum.XLSX);
//多sheet输出
ExcelUtil.writeExcel(response, "导出测试", ExcelTypeEnum.XLSX, list, list2);
//或
ExcelUtil.writeExcel(response, "导出测试", ExcelTypeEnum.XLSX, list, list2, list3);

导入:

List<FundDto> importDtoList = ExcelUtil.readExcel(excelFile,PersonDto .class);

自定义样式Sheet名称注解:

@SheetName("sheet名称")
@Data
public class ExportTestModel {
    @ExcelProperty(index = 0 ,value = "标题")
    private String title;
}

Ps.

原引入样式修改,后更新版本中增加了样式策略的修改,未引入

目前已知存在问题:

  • 自定义注解目前未经过多种场景的测试,出现问题,需要再修改
  • 导入的实体类中配置了注解的属性为基本类型时,可能会读到一部分空行,这个问题目前需要EasyExcel的看看后续版本处理

EasyExcel github地址:https://github.com/alibaba/easyexcel
EasyExcelUtils github项目地址:https://github.com/wangxiaoxiongjuly/easy-excel-utils
EasyExcelUtils gitee项目地址:https://gitee.com/wang-wen-xuan-july/easy-excel-utils

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java工具集介绍12_09
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1926165 Java工具集介绍12_09 1)Java 6 for MacOSX版本发布如果你是一个Mac用户,现在就值得高兴了,开源社区刚刚解决了这个问题,把Java 6移植到苹果的系统中。
761 0
Java工具集介绍2008年第二期
[align=center][b]Java工具集介绍2008年第二期[/b][/align]1、WebLEAF新版本:2.2和3.0WebLEAF是一个servlet框架,用于帮助建立Java的Web服务器端的应用程序。
737 0
Java工具集介绍2008年第七期
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/2224631 Java工具集介绍2008年第七期 原创文章,转载请保留作者名。
732 0
SqlServer性能检测和优化工具使用详细
工具概要         如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问题出在哪里,并且找到他,咱们可以借助本文中要讲述的性能检测工具--sql server profiler(处在sql安装文件--性能工具--sql server profiler)     如果知道啦问题出现在哪里,如果你又是绝世高手,当然可以直中要害,写段代码给处理解决掉,但是如果你不行,你做不到,那么也无所谓,可以借助哥的力量给你解决问题。
923 0
Java工具集介绍2008年第五期
[align=center][b]Java工具集介绍2008年第五期[/b][/align]原创文章,转载请保留作者名。1、Jawr新版本:1.2Jawr是一个Web应用程序的JavaScript/CSS的资源绑定和压缩工具。
979 0
Java工具集介绍2008年第三期
[align=center][b]Java工具集介绍2008年第三期[/b][/align]1、JNIEasy新版本:1.2JNIEasy,Java本地对象(Java Native Objects,JNO)解决方案,可完全替代JNI来整合基于Java和C/C++的库和DLLs。
909 0
何时使用static类(工具类)
一个static类,指全部成员都是static方法构成的,而没有任何成员变量, 也称为Utility class 或者Utility Pattern [参考: Utility Pattern].它可以在程序中直接使用该类的方法,而不用实例化.static class相对单例有更好的性能,原因是它的方法不需要实例方法的动态绑定 (static方法本身不能被复写)。
692 0
Java工具集介绍2008年第四期
[align=center][b]Java工具集介绍2008年第四期[/b][/align]原创文章,请保留作者名。1、Avalon SQL Editor新版本:4.0Avalon SQL Editor是一个强大的数据库/SQL脚本编辑器,具有代码自动完成、语法分色显示、单词提示等功能。
707 0
Java工具集介绍11_04
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1866083  Java工具集介绍11_04 1、Tom新版本:2.5.2Tom是一个新的Java模式匹配编译器。
779 0
3
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载