easyExcel的簡單使用

easyExcel的作用 , 通過java代碼操作excel表格

一.對Excel的寫操作

  1. 引入依賴
<dependencies>
	<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>
    </dependencies>
  1. 創建與excle對應的實體類
package com.example.test.excle;

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

@Data
public class DemoData {

    @ExcelProperty("學生編號")//設置excle表頭名稱
    private Integer sno;

    @ExcelProperty("學生姓名")//設置excle表頭名稱
    private String sname;
}

  1. 創建測試類
package com.example.test.excle;

import com.alibaba.excel.EasyExcel;

import java.util.ArrayList;
import java.util.List;

public class TestEasyExcel {
    public static void main(String[] args) {
        //實現excle寫的操作
        //1 設置寫入文件夾的地址和excle文件名稱
        String filename = "F:\\write.xlsx";

        //2 調用easyExcel裏面的方法實現寫操作
        //  write方法中兩個參數 , 第一個是文件存儲的路徑名稱 , 第二個是實體類.class
        EasyExcel.write(filename , DemoData.class).sheet("學生列表").doWrite(getData());
    }

    //創建一個方法返回list集合
    private static List<DemoData> getData(){
        List<DemoData> list = new ArrayList<>();
        for(int i = 0 ; i < 10 ; i++){
            DemoData demoData = new DemoData();
            demoData.setSname("marry" + i);
            demoData.setSno(i);
            list.add(demoData);
        }
        return list;
    }
}

在這裏插入圖片描述

二.對excel的讀操作

  1. 引入依賴
<dependencies>
	<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>
    </dependencies>
  1. 創建實體類
package com.example.test.excle;

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

@Data
public class DemoData {

    @ExcelProperty(value = "學生編號" , index = 0)//設置excle表頭名稱
    private Integer sno;

    @ExcelProperty(value = "學生姓名" , index = 1)//設置excle表頭名稱
    private String sname;
}
  1. 創建監聽進行excel文件的讀取
package com.example.test.excle;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.Map;

public class ExcelListener extends AnalysisEventListener<DemoData> {
    //一行一行的讀取excel的數據 , 不包括表頭 , 也就是不讀取第一行
    @Override
    public void invoke(DemoData demoData, AnalysisContext analysisContext) {
        System.out.println("****" + demoData);
    }
    
    //讀取表頭的內容
    @Override
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
        System.out.println("表頭:" + headMap);
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }
}

  1. 方法調用
package com.example.test.excle;

import com.alibaba.excel.EasyExcel;

import java.util.ArrayList;
import java.util.List;

public class TestEasyExcel {
    public static void main(String[] args) {
        // 實現exce讀操作
        String filename = "F:\\write.xlsx";
        EasyExcel.read(filename , DemoData.class , new ExcelListener()).sheet().doRead();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章