Java导入Excel文件

使用Java导入并获取Excel文件数据

 1.先引入依赖

这里使用了easyexcel 官网: 在pom.xml里引入依赖。

<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.1.1</version>
</dependency>
2.读取文件

读取文件的方式有两种,首先是用监听器的方式读取。

首先先自定义一个类,类的属性要与表格中的行中要提取的属性对应上。

这里简单演示,只提取两个属性编号以及昵称。

@Data
public class XingQiuTableUserInfo {
    
    @ExcelProperty("成员编号")
    private String planetCode;

    
    @ExcelProperty("成员昵称")
    private String username;
}

构建好类后,开始构建监听器,invoke函数的作用是处理完文件中每一行数据后需要做的事情,而

doAfterAllAnalysed函数则用于所有数据都处理完后要做的事。样例里简单地输出了表格信息。

@Slf4j
public class TableListener implements ReadListener<XingQiuTableUserInfo> {
    /**
     * 这个每一条数据解析都会来调用
     *
     * @param data    one row value. Is is same as {@link AnalysisContext#readRowHolder()}
     * @param context
     */
    @Override
    public void invoke(XingQiuTableUserInfo data, AnalysisContext context) {
        System.out.println(data);
    }

    /**
     * 所有数据解析完成了 都会来调用
     *
     * @param context
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        System.out.println("已解析完成");
    }
}

然后,再创建一个类来引入Excel文件。

public class ImportExcel {
    public static void main(String[] args) {
        //写法1
        String fileName = "Excel文件地址";
        
        EasyExcel.read(fileName,XingQiuTableUserInfo.class,new TableListener()).sheet().doRead();

    }
}

测试运行

第二种方法则是不需要构建监听器,直接同步读取。

public static void synchronousRead(String fileName) {
        // 这里 需要指定读用哪个class去读,然后读取第一个sheet 同步读取会自动finish
        List<XingQiuTableUserInfo> list = EasyExcel.read(fileName).head(XingQiuTableUserInfo.class).sheet().doReadSync();
        for (XingQiuTableUserInfo data : list) {
            System.out.println(data);
        }
    }

以上就是用Java调用EasyExcel库来处理excel文件的两种方式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值