当前位置: 首页 > news >正文

宁波建设监理协会网站seo点击器

宁波建设监理协会网站,seo点击器,工厂采购信息网,t型布局网站EasyExcel使用 1、EasyExcel介绍 1.1 官网介绍 传统操作Excel大多都是利用Apach POI进行操作的,但是POI框架并不完善,使用过程非常繁琐且有较多的缺陷: 动态操作Excel非常繁琐,对于新手来说,很难在短时间内上手;读写时需要占用…

EasyExcel使用

1、EasyExcel介绍

1.1 官网介绍

传统操作Excel大多都是利用Apach POI进行操作的,但是POI框架并不完善,使用过程非常繁琐且有较多的缺陷:

  • 动态操作Excel非常繁琐,对于新手来说,很难在短时间内上手;
  • 读写时需要占用较大的内存,当数据量大时容易发生内存溢出问题(OOM);

基于上述原因,阿里开源出一款易于上手,且比较节省内存的Excel框架:EasyExcel

注意:easyExcel底层也是使用POI实现的;

官网地址:https://www.yuque.com/easyexcel/doc/easyexcel

在这里插入图片描述

依赖资源:

<!--引入easyexcel-->
<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.4</version>
</dependency>

注意:目前版本与JDK8较为契合,高版本的JDK可能会出现兼容性问题;

1.2 Excel相关结构说明

在这里插入图片描述

2、EasyExcel导出数据快速入门

2.1 构建测试实体类

package com.itheima.stock.pojo;import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;import java.io.Serializable;
import java.util.Date;/*** @author by itheima* @Date 2021/12/19* @Description*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User implements Serializable {private String userName;private Integer age;private String address;private Date birthday;
}

2.2 数据导出到excel

package com.itheima.stock;import com.alibaba.excel.EasyExcel;
import com.itheima.stock.pojo.User;
import org.junit.jupiter.api.Test;import java.util.ArrayList;
import java.util.Date;
import java.util.List;/*** @author by itheima* @Date 2021/12/31* @Description*/
public class TestEasyExcel {public List<User> init(){//组装数据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);}return users;}/*** 直接导出后,表头名称默认是实体类中的属性名称*/@Testpublic void test02(){List<User> users = init();//不做任何注解处理时,表头名称与实体类属性名称一致EasyExcel.write("C:\\Users\\46035\\Desktop\\ex\\用户.xls",User.class).sheet("用户信息").doWrite(users);}
}

2.3 自定义表头

修改User实体类,设置表头数据和排序规则:

package com.itheima.stock.pojo;import com.alibaba.excel.annotation.ExcelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;/*** @author by itheima* @Date 2021/12/19* @Description*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
/*** 通过注解自定义表头名称 注解添加排序规则,值越大 越靠近右边
*/
public class User implements Serializable {@ExcelProperty(value = {"用户名"},index = 1)private String userName;@ExcelProperty(value = {"年龄"},index = 2)private Integer age;@ExcelProperty(value = {"地址"} ,index = 4)private String address;@ExcelProperty(value = {"生日"},index = 3)private Date birthday;
}

3、EasyExcel导出数据高级设置

3.1 自定义日期格式

package com.itheima.stock.pojo;import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;import java.io.Serializable;
import java.util.Date;/*** @author by itheima* @Date 2021/12/19* @Description*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User implements Serializable {@ExcelProperty(value = {"用户名"},index = 1)private String userName;@ExcelProperty(value = {"年龄"},index = 2)private Integer age;@ExcelProperty(value = {"地址"} ,index = 4)private String address;@ExcelProperty(value = {"生日"},index = 3)//注意:日期格式注解由alibaba.excel提供@DateTimeFormat("yyyy/MM/dd HH:mm")private Date birthday;
}

3.2 合并表头

添加合并表头信息:

package com.itheima.stock.pojo;import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;import java.io.Serializable;
import java.util.Date;/*** @author by itheima* @Date 2021/12/19* @Description*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User implements Serializable {@ExcelProperty(value = {"用户基本信息","用户名"},index = 1)private String userName;@ExcelProperty(value = {"用户基本信息","年龄"},index = 2)private Integer age;@ExcelProperty(value = {"用户基本信息","地址"} ,index = 4)private String address;@ExcelProperty(value = {"用户基本信息","生日"},index = 3)//注意:日期格式注解由alibaba.excel提供@DateTimeFormat("yyyy/MM/dd HH:mm")private Date birthday;
}

mage-20211231181430686.png&pos_id=img-83ZjlIYT-1727413984023)

3.3 忽略指定表头信息

/*** @author by itheima* @Date 2021/12/19* @Description*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User implements Serializable {@ExcelProperty(value = {"用户基本信息","用户名"},index = 1)@ExcelIgnoreprivate String userName;@ExcelProperty(value = {"用户基本信息","年龄"},index = 2)private Integer age;@ExcelProperty(value = {"用户基本信息","地址"} ,index = 4)private String address;@ExcelProperty(value = {"用户基本信息","生日"},index = 3)//注意:日期格式注解由alibaba.excel提供@DateTimeFormat("yyyy/MM/dd HH:mm")private Date birthday;
}

3.4 设置单元格大小

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@HeadRowHeight(value = 35) // 表头行高
@ContentRowHeight(value = 25) // 内容行高
@ColumnWidth(value = 50) // 列宽
public class User implements Serializable {@ExcelProperty(value = {"用户基本信息","用户名"},index = 1)@ExcelIgnoreprivate String userName;@ExcelProperty(value = {"用户基本信息","年龄"},index = 2)private Integer age;@ExcelProperty(value = {"用户基本信息","地址"} ,index = 4)private String address;@ExcelProperty(value = {"用户基本信息","生日"},index = 3)//注意:日期格式注解由alibaba.excel提供@DateTimeFormat("yyyy/MM/dd HH:mm")private Date birthday;
}

4、EasyExcel导入数据

    /*** excel数据格式必须与实体类定义一致,否则数据读取不到*/@Testpublic void readExcel(){ArrayList<User> users = new ArrayList<>();//读取数据EasyExcel.read("C:\\Users\\46035\\Desktop\\ex\\用户.xls", User.class, new AnalysisEventListener<User>() {@Overridepublic void invoke(User o, AnalysisContext analysisContext) {System.out.println(o);users.add(o);}@Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {System.out.println("完成。。。。");}}).sheet().doRead();System.out.println(users);}

http://www.ritt.cn/news/21051.html

相关文章:

  • 国内 免费 云服务器关键词优化意见
  • 合肥公司门户网站制作seo网站监测
  • 高新网站建设多少钱有别人的交易链接怎么交易
  • 如何做本地网站快速优化seo
  • 幼儿园网站模板怎么做全球网络营销公司排名
  • 厚街东莞网站建设天津最新消息今天
  • 上海网络公司有哪几家上海抖音seo公司
  • 著名网站设计百度快照投诉中心
  • htm5移动网站开发seo排名官网
  • 网站开发比较流行的框架aso优化什么意思
  • 桓台县旅游网站建设今天发生的重大新闻
  • 哪个网站可以接图纸做百度广告开户
  • 做网站的字体seoheuni
  • 设计网站都有什么作用是什么seo新站如何快速排名
  • 便宜的做网站百度一级代理商
  • 东莞市镇街建设项目监理招标网站凡科网建站系统源码
  • vi视觉识别系统阿里seo排名优化软件
  • 摄影工作室网站模板网络优化工程师主要负责什么工作
  • 做一些购物网站免费b站推广网站2023
  • 网站验收标准可以免费发广告的网站
  • 哈尔滨制作各种证件google seo是什么啊
  • 北京想象力网站建设今日的最新新闻
  • 网站建设一般好久到期百度导航官网
  • 个人网站不备案可以吗深圳网站设计
  • 已有域名怎么建设网站企业网站推广策划
  • 杭州做网站小程序公司宁波seo优化费用
  • 重庆专业网站开发服务windows优化大师自动下载
  • 购物网站开发要解决的问题seo搜索引擎优化方法
  • 青岛网站建设公司怎么样自己创建一个网站需要多少钱
  • 如何看一个网站开发语言免费收录网站推广