返回顶部
首页 > 资讯 > 后端开发 > JAVA >【EasyExcel】的一些用法
  • 361
分享到

【EasyExcel】的一些用法

exceljava 2023-09-05 22:09:36 361人浏览 独家记忆
摘要

一、AnalysisEventListener监听类,可以用来解析excel 用来进行监听,一方面,它可以处理空数据的检查,重复数据的检查等一些数据筛查工作。另一方面,也可以做数据的存储,如果在此做数

一、AnalysisEventListener监听类,可以用来解析excel

用来进行监听,一方面,它可以处理空数据的检查,重复数据的检查等一些数据筛查工作。另一方面,也可以做数据的存储,如果在此做数据存储,那么数据的转换也是可以在这里完成的。

在该监听器中,通过重写AnalysisEventListener的方法来获得解析的数据、表头信息,以及解析完毕之后执行的操作信息。

public class ExcelListener extends AnalysisEventListener<UserData> {  public void invoke(UserData data, AnalysisContext analysisContext) {  System.out.println("****" + data); }  public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {  System.out.println("表头" + headMap); }  public void doAfterAllAnalysed(AnalysisContext analysisContext) {  System.out.println("读取Excel完毕"); }}

调用:

public class EasyExcelReadDemo { public static void main(String[] args) {  // 实现excel写操作  //1.设置写入文件夹地址和excel文件名称  String fileName = "/Users/zzs/temp/excel/write.xlsx";  //调用easyExcel里面的方法实现写操作  //2个参数,第一个参数是文件名称,第二个参数是实体类  EasyExcel.read(fileName, UserData.class, new ExcelListener()).sheet().doRead(); }}

二、自定义转化器

通过自定义转换器,比如将1、0转换成男、女的实例:

public class SexConverter implements Converter<Integer> {    public Class<Integer> supportJavaTypeKey() {        return Integer.class;    }    public CellDataTypeEnum supportExcelTypeKey() {        return CellDataTypeEnum.STRING;    }    public Integer convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {        return "男".equals(cellData.getStringValue()) ? 1 : 0;    }    public CellData<String> convertToExcelData(Integer integer, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {        return new CellData<>(integer.equals(1) ? "男" : "女");    }}

使用:

@ExcelProperty(value="性别",converter = SexConverter.class)private Integer sex;

再次生成Excel,性别字段内容便显示为:男、女字样。

三、保留两位小数

比如体重需要保留两位小数,可通过@NumberFORMat 注解实现:

@ExcelProperty(value = "体重KG")@NumberFormat("0.##") // 会以字符串形式生成单元格,要计算的列不推荐private BigDecimal weight;

另外一种方法是使用@ContentStyle注解:这样也能达到保留两位小数的效果。
当然,也可以使用实现Converter接口的方式实现(同性别实现)。

@ContentStyle(dataFormat = 2)private BigDecimal weight2;

四、排除指定Excel列

在很多场景下,Excel的列与实体类可能并不完全一致,这时就需要排除一些实体类的字段。
方式一:类上加注解 @ExcelIgnoreUnannotated,过滤属性没有@ExcelProperty注解的字段

@Data@ToString@AllArgsConstructor@NoArgsConstructor  // 一定要有无参构造方法@ExcelIgnoreUnannotatedpublic class UserData {    .....}

方式二:指定字段加@ExcelIgnore注解

@ExcelIgnore // 该字段不生成excelprivate String remark;

方式三:代码指定过滤字段,通过excludeColumnFiledNames方法,这种方法的好处是:同一Excel可以在调用方法时排除不同的数据列。

EasyExcel.write(fileName, UserData.class).sheet("学生信息表").excludeColumnFiledNames(Arrays.asList("remark")).doWrite(getData());

参考链接:https://jsnds.cn/2021/07/29/104400.html

来源地址:https://blog.csdn.net/m0_46459413/article/details/128659592

--结束END--

本文标题: 【EasyExcel】的一些用法

本文链接: https://lsjlt.com/news/396221.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【EasyExcel】的一些用法
    一、AnalysisEventListener监听类,可以用来解析Excel 用来进行监听,一方面,它可以处理空数据的检查,重复数据的检查等一些数据筛查工作。另一方面,也可以做数据的存储,如果在此做数...
    99+
    2023-09-05
    excel java
  • EasyExcel 的基本使用
    EasyExcel EasyExcel 是一个基于 Java 的简单、省内存的读写 Excel 的开源项目。在尽可能节约内存的情况下支持读写百 M 的 Excel。 官网:https://easye...
    99+
    2023-09-12
    java excel spring boot
  • Java中EasyExcel的使用方式
    目录背景项目构建及依赖创建实体类生成Excel解析Excel其他相关特殊用法自定义转换器保留两位小数排除指定Excel列小结背景 系统中经常要导出大量的数据,格式基本上都是Excel...
    99+
    2022-11-13
    Java 中EasyExcel的使用方式 Java EasyExcel
  • 【java学习】EasyExcel的简单使用
    EasyExcel的简单使用 前言Excel读1.实体类2.读监听器与测试类3.输出结果 Excel写1.实体类2.写入Excel的测试类3.输出结果 填充Excel1.Excel模板...
    99+
    2023-10-03
    java 学习
  • python3一些用法
    python3自定义算法排序 sorted(a1, key = functools.cmp_to_key(cmp))a1是待排序list,cmp为排序函数 Numpy A = np.vstack([x,np.ones(len(x))]).T...
    99+
    2023-01-31
  • gojs一些实用的高级用法
    目录1. 取消更新动画2. 导出图(含可视区外的部分)3. 禁用 ctrl 相关快捷键4. 画布滚动模式,无限滚动 or 局部滚动5. 展开收起多层嵌套的组6. 给图元素加动画7. ...
    99+
    2024-04-02
  • C# WindowsMediaPlayer 的一些用法实例
    播放单首歌曲 复制代码 代码如下:player.URL = "歌曲文件路径";player.Ctlcontrols.play(); 添加多首歌曲到播放列表 复制代码 代码如下:IWM...
    99+
    2022-11-15
    C# WindowsMediaPlayer
  • SpringBoot集成EasyExcel的应用场景分析
    1、介绍 官网地址:https://www.yuque.com/easyexcel 特点: 1、Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他...
    99+
    2024-04-02
  • Java——使用EasyExcel导出动态列的Excel
    有些时候列表的列可能是动态的,需要根据动态表头导出Excel文件,这时候可以使用下面的方法解决: public static void exportDynamicExcel(Set includeColumnFiledNam...
    99+
    2023-09-09
    java excel
  • java实现excel的导出之使用easyExcel
    前言 在我们的项目需求中,经常会遇到导出的需求,其中excel的导出最为常见。生成Excel比较有名的框架有Apache poi,jxl等,但他们都存在一个严重的问题就是非常的耗内存,如果你的系统并发量不大的话可能还行,但是一旦并发上来后一...
    99+
    2023-08-18
    java excel 开发语言
  • 使用EasyExcel实现Excel的导入导出
    文章目录 前言一、EasyExcel是什么?二、使用步骤1.导入依赖2.编写文件上传配置3.配置表头对应实体类4.监听器编写5.控制层6.前端代码 总结 前言 在真实的开发者场景中,经常会使用excel作为数据的载体,进行...
    99+
    2023-08-17
    java
  • Android中WebView的一些简单用法
    Android中WebView的一些简单用法 一直想写一个关于 WebView 控件的 一些简单运用,都没什么时间,这次也是挤出时间写的,里面的一些基础知识就等有时间再更新讲解...
    99+
    2022-06-06
    webview Android
  • 聊聊一些Golang的高级用法
    Go语言的出现,让我们的开发更加高效、安全、简单。代码风格简单,性能高效,它已经是许多开发者和公司的首选。然而,随着我们对Go语言的深入了解和使用,有些时候我们需要更高级、更灵活的写法来应对不同的工作需求。那么,下面就介绍一些Golang的...
    99+
    2023-05-14
  • 浅析UniApp的一些常用写法
    UniApp是一个基于Vue.js的跨平台开发框架,可以开发iOS、Android、H5以及小程序等多个平台的应用程序。而在UniApp的开发中,有一些比较重要的写法需要我们注意和掌握,下面我们一起来详细了解一下。一、框架的结构UniApp...
    99+
    2023-05-14
  • 聊聊HTML的一些常用写法
    HTML是一种标记语言,用于创建网页和其他网络应用程序。下面介绍HTML的一些常用写法。基本语法结构<!doctype html><html><head><meta charset="ut...
    99+
    2023-05-14
  • 分享一些RxJava的特殊用法
    这篇文章给大家介绍分享一些RxJava的特殊用法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、按钮绑定通过 RxView 可以对 view 进行快速的 clicks 绑定RxView.clicks(button)....
    99+
    2023-05-31
    rxjava ava
  • python3-字典的一些常用方法
    # Auther: Aaron Fan#在dict_dict字典中包含字典那个脚本里介绍了这个方法的用法:'''print(av_catalog.setdefault('大陆',{'www.baidu.com':[1,2]}))  #如果a...
    99+
    2023-01-31
    字典 常用 方法
  • 浅析C++中static的一些用法
    概述 Static,顾名思义是静态、静止的意思。在C语言中static是一个用来修饰变量与函数的关键字,被修饰对象的某些性质将发生根本性的改变,而这些变化从某种意义上又似乎契合了&l...
    99+
    2022-12-08
    static的用法 c++ static关键字
  • React-Native中一些常用组件的用法详解(一)
    前言本文为大家介绍一下React-Native中一些常用的组件,由于对ES6的语法并没有完全掌握,这里暂时用ES5和ES6混用的语法。View组件View是一个支持Flexbox布局、样式、一些触摸处理、和一些无障碍功能的容器,并且它可以放...
    99+
    2023-05-31
    react-native 常用组件 用法
  • Java多例Bean的应用场景-easyExcel导入
    目录1. bean注入方式(IOC)2. 有状态会话bean和无状态会话bean3. 单例模式和多例模式4. 深挖多例模式应用场景?1. bean注入方式(IOC) 2. 有状态会...
    99+
    2023-05-15
    Java Bean应用场景 easyExcel导入Bean应用场景
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作