系统通常会导出大量数据,并且格式基本上是Excel,但是每个指南表都是对系统内存的挑战。
在Java领域,Excel的更著名的框架是Apache的POI和JXL。但是使用它们将面临严重的记忆损失。如果系统的并发不好,一旦导出了大量数据,则JVM经常出现全GC,甚至会导致OOM。
EasyExcel是阿里巴巴开源的Excel处理框架,使用简单和内存。保存内存的原理也非常简单。解析Excel时,它没有将所有文件数据加载到内存,而是从磁盘文件中读取。
今天,本文将带您了解EasyExcel的使用。个人使用后,情绪太简单易用。
首先创建一个Maven项目,将以下依赖项添加到POM文件:
当引入依赖关系时,您会发现POI类库可以在项目的依赖项文档中同时获得。换句话说,EasyExcel是根据POI实现的,并间接介绍了以下依赖性:
因此,当您在项目中引入POI依赖性时,必须考虑版本的兼容性。
EasyExcel的易用性之一是通过物理类中的注释形式与Excel中的标头结合。
现在直接进入物理班:
在上述物理类中,@Data是龙目岛的注释。当然,您可以自己生成Getter/Setter方法。其他注释由EasyExcel提供:
完成上述功能准备工作后,让我们首先生成Excel。
生成Excel的示例代码直接显示下面:
除了准备数据的代码外,核心代码仅是easyexcel.write方法在主方法中调用,这是如此简单。Easyexcel的写入方法将根据传输数据向物理类class userData键入以生成Excel Files生成Excel Files。
让我们看一下Excel的效果:
生产效果还不错,并且使用非常简单吗?
让我们看一下Excel的操作,并使用上面生成的Excel文件。
首先创建一个听众Excellistener,Integrated EasyExcel以提供分析插图类别:
在此侦听器中,通过重写分析方法,分析数据,标题信息以及在分析后执行的操作信息。
与写作Excel类似,阅读操作是通过EasyExcel类的静态方法执行的:
执行上述方法,打印信息如下:
第一个头部信息打印了。在这里,您可以看到头部的排序从0开始。然后,读取并打印相应的Excel内容,两个数据;最后,执行了阅读方法中的日志打印。
在观看了上面的整个操作之后,对Excel的分析变得非常简单吗?不再担心Excel的分析。
上面的@dateTimeFormat注释的@datetimeFormat注释以及其他类似函数注释和自定义转换器。
通过定制转换器,例如将1和0转换为男性和女人:
性转换器转换器的性别属性注入:
Excel再次产生,性别领域的内容显示为:男人和女人。
例如,如果需要保留两个小数,则可以通过@numberformat注释来实现它:
另一种方法是使用@ContentStyle注释:
这也可以达到保留两个小数的效果。
当然,也可以通过实现转换器接口(相同的性别实现)来实现。
在许多情况下,Excel列可能与物理类别不完全相同。目前,需要排除某些物理课程。
方法1:要添加@excelignoreunannotated的类别,过滤器属性确实
方法两个:指定字段加@Excelignore注释
方法3:代码通过DorkudeColumnFiledNames方法指定过滤器字段:
该方法的优点是,在调用该方法时,相同的Excel可以排除不同的数据列。
本文介绍了EasyExcel的使用。总体而言,使用简单方便。它提供了很多注释,这对于与物理对象的关系之间的关系很方便。此外,官方网站还提供相关的性能数据,并且可以继续探索更多的API。
在性能或易用性方面,值得您尝试。特别是暂时编写Excel解析或生成工具,不再需要分析分析,快点并使用它。
博客作者简介:“ Springboot Technology Inner Book”技术书籍作者,喜欢学习技术,撰写技术干货文章。
公共帐户:博客作者的公共帐户“计划的新愿景”,欢迎关注?
技术交流:请联系博客微信:Zhuan2quan
原始:https://juejin.cn/post/7102204524063883301