logo资料库

阿里EasyExcel的操作.pdf

第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
资料共28页,剩余部分请下载后查看
阿里EasyExcel的操作
第一步:建立简单的maven项目,导入依赖
第二步:新建一个实体类进行操作
第三步:数据的写入
3.1 普通写入
3.2 复杂头数据写入
3.3 重复写到Excel的同一个sheet中
3.4 重复写到Excel的不同Sheet中
3.5 日期数字类型格式化
3.6 将图片写入到easyExcel
3.7 设置写入Excel表格中的宽高设置
3.8 :通过注解形式设置写入Excel的样式
3.9:设置写入Excel表格(合并单元格)
第四步:数据的读操作
4.1 简单的读的第一种方式
4.2 简单的读的第二种方式
4.3 根据Excel中指定的列名或者列的下标读取指定列的数据
4.4 :读取Excel中的数据并格式化
4.5 读取多个或者全部的Sheet
读取全部sheet
读取某几个sheet
第五:填充Excel
5.1 :简单填充
5.2 :列表填充
第六:Web操作(Excel上传/下载)
6.1 Excel下载
6.2 Excel上传
  阿里EasyExcel的操作 第一步:建立简单的maven项目,导入依赖 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18            junit      junit      4.11      test              com.alibaba      easyexcel      2.2.3              org.projectlombok      lombok      1.18.12       第二步:新建一个实体类进行操作 1 2 3 4 5 6 7 8 9 10 package com.aaa; import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; /*
* * 创建用户模版 * */ @Data @NoArgsConstructor @AllArgsConstructor public class User { //表格的属性名称,index可以进行排序   从0开始排序    @ExcelProperty(value = "用户编号",index = 0)    private  Integer userId;    @ExcelProperty(value = "姓名",index = 1)    private  String userName;    @ExcelProperty(value = "性别",index = 3)    private  String gender;    @ExcelProperty(value = "工资",index = 2)    private Double salary;    @ExcelProperty(value = "入职时间",index = 4)    private Date date; } 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 第三步:数据的写入 3.1 普通写入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package com.test; import com.aaa.User; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.metadata.WriteSheet; import org.junit.Test; import java.util.*; public class WriteTest {    /*        简单写方式一:
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53        * */        @Test        public void  test01(){            //创建一个Excel文档            String fileName="user1.xlsx";            //根据User模版构造数据            List list=new ArrayList<>();            User user=new User(1,"小明","男",12000.12,new Date());            User user1=new User(2,"小米","男",12000.12,new Date());            User user2=new User(3,"小红","男",12000.12,new Date());            User user3=new User(4,"小张","男",12000.12,new Date());            list.add(user);            list.add(user1);            list.add(user2);            list.add(user3);            //向表格中写数据            EasyExcel.write(fileName,User.class).sheet("用户信 息模版").doWrite(list);       }        /*        * 简单方式写方式二        * */    @Test    public  void  test02(){        //创建一个Excel文档        String fileName="user2.xlsx";        //根据User模版构造数据        List list=new ArrayList<>();        User user=new User(1,"小明","男",12000.12,new Date());
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88        User user1=new User(2,"小米","男",12000.12,new Date());        User user2=new User(3,"小红","男",12000.12,new Date());        User user3=new User(4,"小张","男",12000.12,new Date());        list.add(user);        list.add(user1);        list.add(user2);        list.add(user3);        ExcelWriter build = EasyExcel.write(fileName, User.class).build();        //创建sheet对象        WriteSheet writeSheet = EasyExcel.writerSheet("用户信 息二").build();        build.write(list, writeSheet);        build.finish();   }    //排除某些字段    @Test    public  void  test03(){        String fileName="user3.xlsx";        //根据User模版构造数据        List list=new ArrayList<>();        User user=new User(1,"小明","男",12000.12,new Date());        User user1=new User(2,"小米","男",12000.12,new Date());        User user2=new User(3,"小红","男",12000.12,new Date());        User user3=new User(4,"小张","男",12000.12,new Date());        list.add(user);        list.add(user1);        list.add(user2);        list.add(user3);
       //排除某些字段不写入        Set set=new HashSet<>();        set.add("salary");        set.add("date");        EasyExcel.write(fileName,User.class).excludeColumnFiledNames (set).sheet("用户信息三").doWrite(list);   }    /*    * 指定某些字段写入到Excel表格中    * */    @Test    public  void  test04(){        String fileName="user4.xlsx";        //根据User模版构造数据        List list=new ArrayList<>();        User user=new User(1,"小明","男",12000.12,new Date());        User user1=new User(2,"小米","男",12000.12,new Date());        User user2=new User(3,"小红","男",12000.12,new Date());        User user3=new User(4,"小张","男",12000.12,new Date());        list.add(user);        list.add(user1);        list.add(user2);        list.add(user3);        //指定写入哪些字段到Excel表格中        Set set=new HashSet<>();        set.add("salary");        set.add("date");        EasyExcel.write(fileName,User.class).includeColumnFiledNames (set).sheet("用户信息三").doWrite(list);   } } 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 3.2 复杂头数据写入
写Excel的Java对象类型 @ExcelProperty({"值一","值二"}) : 如果每个@ExcelProperty注解上的值一 都相同是 如果不相同是:       1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 /* * 构建复杂头信息数据的类 * */ @Data @NoArgsConstructor @AllArgsConstructor public class ComplexHeadUser {    //    @ExcelProperty({"用户主题1","用户编号"})    private  Integer userId;    @ExcelProperty({"用户主题1","用户姓名"})    private String userName;    @ExcelProperty({"用户主题1","用户日期"})    private Date hireDate; } /*     * 复杂头数据的编写     * */    @Test    public void test01() {
6 7 8 9 10 11 12 13 14 15        String fileName = "users5.xlsx";        List list=new ArrayList<>();        ComplexHeadUser user=new ComplexHeadUser(1001,"小 米",new Date());        ComplexHeadUser user1=new ComplexHeadUser(1002,"小 米",new Date());        ComplexHeadUser user2=new ComplexHeadUser(1003,"小 米",new Date());        list.add(user);        list.add(user1);        list.add(user2);        EasyExcel.write(fileName,ComplexHeadUser.class).sheet("用户信 息").doWrite(list);   } 3.3 重复写到Excel的同一个sheet中 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    /*     * 重复写到Excel的同一个sheet标签中     * */    @Test    public void test02() {        String fileName = "users6.xlsx";        List list=new ArrayList<>();        ComplexHeadUser user=new ComplexHeadUser(1001,"小 米",new Date());        ComplexHeadUser user1=new ComplexHeadUser(1002,"小 米",new Date());        ComplexHeadUser user2=new ComplexHeadUser(1003,"小 米",new Date());        list.add(user);        list.add(user1);        list.add(user2);        //重复写        //创建ExcelWriter        ExcelWriter excelWriter = EasyExcel.write(fileName, ComplexHeadUser.class).build();        //创建WriteSheet        WriteSheet writeSheet = EasyExcel.writerSheet("用户信息 6").build();
21 22 23 24 25 26 27 28 29 30        for (int i = 0; i <5 ; i++) {            excelWriter.write(list,writeSheet);       }        //关闭        excelWriter.finish();   } 3.4 重复写到Excel的不同Sheet中 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24   /*     * 重复写到Excel的不同sheet标签中     * */    @Test    public void test03() {        String fileName = "users7.xlsx";        List list=new ArrayList<>();        ComplexHeadUser user=new ComplexHeadUser(1001,"小 米",new Date());        ComplexHeadUser user1=new ComplexHeadUser(1002,"小 米",new Date());        ComplexHeadUser user2=new ComplexHeadUser(1003,"小 米",new Date());        list.add(user);        list.add(user1);        list.add(user2);        //重复写        //创建ExcelWriter        ExcelWriter excelWriter = EasyExcel.write(fileName, ComplexHeadUser.class).build();        for (int i = 0; i <5 ; i++) {            WriteSheet writeSheet = EasyExcel.writerSheet("用 户信息" + i).build();            excelWriter.write(list,writeSheet);       }        excelWriter.finish();   }
分享到:
收藏