如何在Java中使用EasyExcel工具类

  介绍

今天就跟大家聊聊有关如何在Java中使用EasyExcel工具类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

常用的Java框架有哪些

1。SpringMVC, Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级网络框架。2。Shiro, Apache Shiro是Java的一个安全框架。3。Mybatis, Mybatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.4.Dubbo,达博是一个分布式服务框架.5.Maven, Maven是个项目管理和构建自动化工具.6.RabbitMQ, RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器1:8)。Ehcache, Ehcache是一个纯Java的进程内缓存框架。


<李>

StudentVo为实体类,注意实体中的各个属性要和excel按顺序一一对应,建议都用字符串类型,真正插入时,才去做转换

<李>

ImportExcelListener类为真正处理数据的类

<李>

CommonService只是一个Spring bean的服务,用来执行豆腐操作

, private  CommonService  CommonService;   ,,,public  void  importExcel (MultipartFile 文件),throws  IOException  {   ,,,//,HEAD_ROW_NUMBER为Excel中的头部行数,,这里的关于ImportExcelListener的构造方法中HEAD_ROW_NUMBER参数可以根据需要决定传或者不传   ,,,,,,,EasyExcel.read (file.getInputStream (),, StudentVo.class,, new  ImportExcelListener (HEAD_ROW_NUMBER, commonService)) .sheet () .headRowNumber (HEAD_ROW_NUMBER) .doRead ();   ,,,}

ImportExcelListener类如下,这里根据实际需要,可以不用泛型。

public  class  ImportExcelListener, extends  AnalysisEventListener, {   ,,,,,,,/* *   ,,,,,,,,*,每隔BATCH_COUNT条存储数据库,然后清理list ,方便内存回收   ,,,,,,,*/,,,,,,,private  static  final  int  BATCH_COUNT =, 500;   ,,,,,,,private  int  headRowNum;   ,,,,,,,private  CommonService  commonService;   ,,,,,,,private  List, list =, new  ArrayList<在();      ,,,,,,,public  ImportExcelListener (int  headRowNumber, CommonService  commonService), {   ,,,,,,,,,,,this.headRowNum =, headRowNumber;   ,,,,,,,,,,,this.commonService =, commonService;   ,,,,,,,}      ,,,,,,,/* *   ,,,,,,,,*,这个每一条数据解析都会来调用   ,,,,,,,*/,,,,,,@Override   ,,,,,,,public  void 调用(T 数据,AnalysisContext 上下文),{   ,,,,,,,,,,,//,这里也可以将数据转为对应实体,,然后做一些参数校验   ,,,,,,,,,,,Integer  rowNum =, context.readRowHolder () .getRowIndex ();   ,,,,,,,,,,log.info(“当前解析的数据为第{}行“,,rowNum);   ,,,,,,,,,   ,,,,,,,,,,,list.add(数据);   ,,,,,,,,,,,//,批量保存,,防止一次性数据过多,,内存溢出   ,,,,,,,,,,,if  (list.size(),在=,BATCH_COUNT), {   ,,,,,,,,,,,,,,,//,保存   ,,,,,,,,,,,,,,,commonService.save(列表);   ,,,,,,,,,,,,,,,list.clear ();   ,,,,,,,,,,,}   ,,,,,,,}         ,,,,,,,//,在解析之后,,也要记得再判断是否为空,,不为空要保存一下   ,,,,,,@Override   ,,,,,,,public  void  doAfterAllAnalysed (AnalysisContext 上下文),{   ,,,,,,,,,,,if  (CollectionUtils.isEmpty(列表),{   ,,,,,,,,,,,,,,,返回;   ,,,,,,,,,,,}   ,,,,,,,,,,,commonService.save(列表);   ,,,,,,,,,,,list.clear ();   ,,,,,,,}   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在Java中使用EasyExcel工具类