EasyExcel详细教程,直接上干货


import com.alibaba.excel.annotation.ExcelProperty;



//设置表头和添加的数据字段

public class DemoData {

    //设置表头名称

    @ExcelProperty("学生编号")

    private int sno;



    //设置表头名称

    @ExcelProperty("学生姓名")

    private String sname;



    public int getSno() {

        return sno;

    }



    public void setSno(int sno) {

        this.sno = sno;

    }



    public String getSname() {

        return sname;

    }



    public void setSname(String sname) {

        this.sname = sname;

    }



    @Override

    public String toString() {

        return "DemoData{" +

                "sno=" + sno +

                ", sname='" + sname + '\'' +

                '}';

    }

}

(3)实现写操作


public class TestEasyExcel {

    public static void main(String[] args) throws Exception {

        String fileName = "F:\\write.xlsx"; //生成路径

        EasyExcel.write(fileName, DemoData.class)  //指定生成路径和实体类,文件流会自动关闭

                .sheet("学生列表")//写到第一个sheet,名字为模板

                .doWrite(data());//开始写入,方法参数为写入内容,调用data()方法写入

    }

    //循环设置要添加的数据,最终封装到list集合中

    private static List<DemoData> data() {

        List<DemoData> list = new ArrayList<DemoData>();

        for (int i = 0; i < 10; i++) {

            DemoData data = new DemoData();

            data.setSno(i);

            data.setSname("张三"+i);

            list.add(data);

        }

        return list;

    }

}

在指定的生成地址找到生成的excel表,生成内容如下:

4、Excel进行读操作

(1)跟读操作一样引入依赖

(2)创建实体类


public class DemoData {

        //value:表头名称为学生编号,index:第0列

        @ExcelProperty(value = "学生编号",index = 0)

        private int sno;



        //value:表头名称为学生姓名,index:第0列

        @ExcelProperty(value = "学生姓名",index = 1)

        private String sname;



        public int getSno() {

            return sno;

        }



        public void setSno(int sno) {

            this.sno = sno;

        }



        public String getSname() {

            return sname;

        }



        public void setSname(String sname) {

            this.sname = sname;

        }



        @Override

        public String toString() {

            return "DemoData{" +

                    "sno=" + sno +

                    ", sname='" + sname + '\'' +

                    '}';

        }

    }

(2)创建监听器读取excel文件


//创建读取excel监听器

public class ExcelListener extends AnalysisEventListener<DemoData> {

    //创建list集合封装最终的数据

    List<DemoData> list = new ArrayList<DemoData>();



    //一行一行去读取excle内容

    @Override

    public void invoke(DemoData data, AnalysisContext analysisContext) {

        System.out.println("***"+data);

        list.add(data);

    }

    //读取excel表头信息

    @Override

    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {

        System.out.println("表头信息:"+headMap);

    }

    //读取完成后执行

    @Override



**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/7b73412206d2c6c787d4b71c7d661ee2.jpeg)
![img](https://img-blog.csdnimg.cn/img_convert/a02be32960972952229ea24ce9286514.png)
![img](https://img-blog.csdnimg.cn/img_convert/09d077668d17e16d20e270b2ca86e8a2.png)
![img](https://img-blog.csdnimg.cn/img_convert/1b5daa3eaaa8361afcb33dfb0f5b2afc.png)
![img](https://img-blog.csdnimg.cn/img_convert/8aec88536a93601c47986e970ca08b77.png)
![img](https://img-blog.csdnimg.cn/img_convert/10aa9c0e51f063af4d6ea601effd5d7d.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)**
![img](https://img-blog.csdnimg.cn/img_convert/9d8766301813fc77568d8fd3924c8b97.jpeg)



## 总结

在清楚了各个大厂的面试重点之后,就能很好的提高你刷题以及面试准备的效率,接下来小编也为大家准备了最新的互联网大厂资料。

![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/8f512054efe3f5a077e7c54f892cd625.webp?x-oss-process=image/format,png)

![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/53993e40f6df3db335918a2b6a9d3c10.webp?x-oss-process=image/format,png)

![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/db16b3a03efd445c2aafc6546fbf3740.webp?x-oss-process=image/format,png)

![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/c03c16cc3ea9b58f713974f441dc98ae.webp?x-oss-process=image/format,png)



[**一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)

**AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)

**AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EasyExcel是一个Java操作Excel文件的工具库,它基于Apache POI实现。它提供了简单易用的方法来读取、写入和处理Excel文件。下面是EasyExcel的基本教程: 1. 添加EasyExcel依赖:首先,在你的项目中添加EasyExcel的依赖。可以在你的项目的pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.12</version> </dependency> ``` 2. 读取Excel文件:使用EasyExcel可以简单地读取Excel文件的内容。通过`read`方法可以读取Excel中的数据并将其映射到Java对象中。以下是一个简单的读取示例: ```java String fileName = "path/to/excel.xlsx"; List<Object> data = EasyExcel.read(fileName).sheet().doReadSync(); ``` 3. 写入Excel文件:使用EasyExcel可以将数据写入Excel文件中。通过`write`方法可以将Java对象的数据写入到Excel文件中。以下是一个简单的写入示例: ```java String fileName = "path/to/excel.xlsx"; List<Object> data = new ArrayList<>(); // 填充数据 EasyExcel.write(fileName).sheet().doWrite(data); ``` 4. 调整行高、列宽和样式:EasyExcel提供了方法来调整Excel文件中的行高、列宽和样式。你可以使用`setXXX`方法来设置行高、列宽、背景色、字体大小等样式。以下是一个示例: ```java TableStyle style = new TableStyle(); // 创建样式对象 style.setTableContentBackGroundColor(IndexedColors.WHITE); // 设置表格内容的背景色为白色 style.setTableContentFontName("Arial"); // 设置表格内容的字体为Arial style.setTableContentFontSize(12); // 设置表格内容的字体大小为12 WriteSheet sheet = EasyExcel.writerSheet().build(); // 创建Sheet对象 sheet.setTableStyle(style); // 设置Sheet的样式 EasyExcel.write(fileName).withTemplate(templateFileName).sheet().doWrite(data); ``` 需要注意的是,EasyExcel的控制方式与使用原生POI类似,但相对来说更加简洁易用。另外,EasyExcel能够处理大文件时,会减少内存消耗,并且不容易发生内存溢出的情况。 总结一下,EasyExcel是一个方便易用的Java操作Excel文件的工具库,它提供了简单的读取和写入方法,并且支持调整行高、列宽和样式。它基于Apache POI实现,并且能够处理大文件时减少内存消耗。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值