springboot之easyexcel处理excel表格

1.添加依赖

    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.1</version>
        </dependency>
    </dependencies>

2.封装实体类

package com.dfp.easyexcel;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

@Data
public class UserData {
    @ExcelProperty(value = "用户编号",index = 0)
    private int uid;

    @ExcelProperty(value = "用户名称",index = 1)
    private String username;

}

@Data注解会帮我们实现get和set方法

@ExcelProperty 标记这一个字段的第一行的属性(设置他的值、和第几列等等看效果)

3.实现表格写入操作

public class TestWrite {
    public static void main(String[] args) {
        //构建数据list集合
        List<UserData> list =new ArrayList<>();
        for (int i=0;i<10;i++){
            UserData data=new UserData();
            data.setUid(i);
            data.setUsername("lucky"+"_"+i);
            list.add(data);
        }
        //设置excel文件和文件名称
        String fileName="C:\\Users\\Administrator\\Desktop\\01.xls";
        //调用方法实现操作
        EasyExcel.write(fileName,UserData.class).sheet("用户信息")
                .doWrite(list);
    }
}

先创建一个列表存放实体类的对象

filename是写入文件的地址+文件名,如果01.xls文件存在会直接写入,如果01.xls文件不存在会创建这个文件。

EasyExcel.write就是调用封装好的方法进行操作显而易见这是写操作
我们对传入的参数进行解释fileName,UserData.class,第一个是文件的路径,第二个是你想写入的实体类
sheet("用户信息")设置表格的名字、doWrite(list)添加的数据。

4.测试

运行TestWrite的main方法

 5.读取操作

先设置监听器

public class ExcelListener extends AnalysisEventListener<UserData> {
    //一行一行读取表格内容 从第二行开始不读取表头内容
    @Override
    public void invoke(UserData userData, AnalysisContext analysisContext) {
        System.out.println(userData);
    }
    @Override
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {

        System.out.println("表头内容"+headMap);
    }
//读取之后执行
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }
}

invoke主要是读取表格的内容

invokeHeadMap就是读取表头的内容

public class TestRead {
    public static void main(String[] args) {
        String filename="C:\\Users\\Administrator\\Desktop\\01.xls";
        EasyExcel.read(filename,UserData.class,new ExcelListener()).sheet().doRead();
    }
}
EasyExcel.read 要传入3个参数 文件路径 封装的实体类 ,监听器

6.测试

运行testRead的main方法

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值