国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用EasyExcel讀寫Excel文件

這篇具有很好參考價(jià)值的文章主要介紹了使用EasyExcel讀寫Excel文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

筆者之前一直使用POI讀寫Excel文件,最近有個需求需要讀取大概80萬行數(shù)據(jù)的Excel,使用POI讀取到10.2萬行左右就卡死不動了,而且CPU占用直接拉滿到100%,內(nèi)存占用也很高。

查找資料后,發(fā)現(xiàn)POI提供了讀取大量數(shù)據(jù)的方法,但是用起來比較復(fù)雜。同時(shí)看到有人提到用EasyExcel讀取Excel的速度快,資源占用少。于是換成EasyExcel去讀取那個80萬行數(shù)據(jù)的Excel,發(fā)現(xiàn)讀取速度確實(shí)很快,CPU和內(nèi)存占用也很少。

然而EasyExcel的官方文檔中,最簡單的讀寫代碼都是默認(rèn)與數(shù)據(jù)庫有交互,寫了一些分頁讀寫數(shù)據(jù)庫的代碼,還是不夠簡潔。所以個人參考EasyExcel的官方文檔,寫了一個更加簡潔、清晰的,使用EasyExcel讀取Excel的樣例。


1.在pom.xml中添加POI相關(guān)依賴

        <!-- easyexcel -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel-core</artifactId>
            <version>3.3.2</version>
        </dependency>

2.實(shí)體類

package com.example.study.entity;


import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

@Getter
@Setter
public class StudentEntity {
    @ExcelProperty(value = "id", order = 1)
    private Integer id;

    @ExcelProperty(value = "生日", order = 4)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date birthday;

    @ExcelProperty(value = "名字", order = 2)
    private String name;

    @ExcelProperty(value = "性別", order = 3)
    private String sex;
}

3.讀取Excel的類文章來源地址http://www.zghlxwxcb.cn/news/detail-541548.html

package com.example.study.common;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.fastjson.JSON;
import com.example.study.entity.StudentEntity;
import lombok.extern.slf4j.Slf4j;

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

@Slf4j
public class EasyExcelDemo {
    public static void main(String[] args) {
        String readExcel = "F:\\tmp\\students.xlsx";
        String writeExcel = "F:\\tmp\\students-write.xlsx";
        List<StudentEntity> list = read(readExcel);
        write(writeExcel, list);
    }

    private static void write(String fileName, List<StudentEntity> list) {
        EasyExcel.write(fileName)
                .head(StudentEntity.class)
                .sheet("EasyExcel Writed 1")
                .doWrite(list);
    }


    private static List<StudentEntity> read(String excel) {
        List<StudentEntity> list = new ArrayList<>();
        EasyExcel.read(excel)
                .head(StudentEntity.class)
                .sheet(1)
                .registerReadListener(new ReadListener<StudentEntity>() {
                    @Override
                    public void invoke(StudentEntity entity, AnalysisContext analysisContext) {
                        list.add(entity);
                        System.out.println("每讀取到一行數(shù)據(jù)就會執(zhí)行該方法:" + JSON.toJSONString(entity));
                    }

                    @Override
                    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
                        System.out.println("所有數(shù)據(jù)讀取完成后執(zhí)行該方法");
                    }
                }).doRead();
        return list;
    }
}

到了這里,關(guān)于使用EasyExcel讀寫Excel文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 后端:使用easyExcel實(shí)現(xiàn)解析Excel文件讀取數(shù)據(jù)。前端:Excel模板下載、前端上傳文件

    后端:使用easyExcel實(shí)現(xiàn)解析Excel文件讀取數(shù)據(jù)。前端:Excel模板下載、前端上傳文件

    ????????本篇是EasyExcel快速入門知識,講解如何讀取Excel文件,對Excel中錯誤信息如空字符、必填項(xiàng)為空、表格格式校驗(yàn)做到處理?,并給出了實(shí)際項(xiàng)目中示例代碼;為什么要使用easyexcel;原因是相比于poi,easyexcel更加輕量級,讀取寫入API方便,并且在工作中占用內(nèi)存較??;

    2024年02月05日
    瀏覽(39)
  • EasyExcel讀取EXcel文件內(nèi)容

    EasyExcel讀取EXcel文件內(nèi)容

    目錄 一 官方文檔介紹 二 讀取文件內(nèi)容 1.根據(jù)文檔內(nèi)容建立讀對象 2.創(chuàng)建讀監(jiān)聽器 3.測試類代碼 Java解析、生成Excel比較有名的框架有Apache poi、jxl。但他們都存在一個嚴(yán)重的問題就是非常的耗內(nèi)存,poi有一套SAX模式的API可以一定程度的解決一些內(nèi)存溢出的問題,但POI還是有一

    2024年02月14日
    瀏覽(29)
  • EasyExcel輕松讀取Excel文件!

    EasyExcel是一個Java庫,用于快速、簡單地讀寫Excel文件。要使用EasyExcel,您首先需要將其添加為項(xiàng)目的依賴: 如果使用Maven,可以添加以下依賴項(xiàng): 一下幾種方式讀取文件 1、EasyExcel.read() 例如,下面的代碼演示了如何使用EasyExcel讀取一個Excel文件中的數(shù)據(jù): 在上面的代碼中,

    2024年02月09日
    瀏覽(38)
  • EasyExcel知識【Java程序進(jìn)行讀寫生成Excel操作】

    EasyExcel知識【Java程序進(jìn)行讀寫生成Excel操作】

    ?? 個人主頁: ?愛吃豆的土豆 ??歡迎加入社區(qū),福利多多哦!土豆社區(qū) ??數(shù)據(jù)庫專欄更新完畢: 數(shù)據(jù)庫知識 ??JDBC專欄更新完畢: JDBC知識 ??Mybatis專欄更新完畢: Mybatis知識 ?? 如果文章對你有幫助、 歡迎關(guān)注、點(diǎn)贊、收藏(一鍵三連)和訂閱專欄哦 目錄 1,Easy Excel入門

    2023年04月08日
    瀏覽(20)
  • 使用Easyexcel對Excel進(jìn)行讀寫操作

    使用Easyexcel對Excel進(jìn)行讀寫操作

    EasyExcel是一個基于Java的簡單、省內(nèi)存的讀寫Excel的開源項(xiàng)目。在盡可能節(jié)約內(nèi)存的情況下支持讀寫百M(fèi)的Excel。 github地址:GitHub - alibaba/easyexcel: 快速、簡潔、解決大文件內(nèi)存溢出的java處理Excel工具 通過java代碼完成對Excel的讀寫操作,所謂的讀寫理解為上傳和下載 官網(wǎng):關(guān)于E

    2024年02月11日
    瀏覽(15)
  • Apache POI及easyExcel讀取及寫入excel文件

    目錄 1.excel 2.使用場景 3.Apache POI 4.easyExcel 5.總結(jié) 1.excel excel分為兩版,03版和07版。 03版的后綴為xls,最大有65536行。 07版的后綴為xlsx,最大行數(shù)沒有限制。 2.使用場景 將用戶信息導(dǎo)出到excel表格中。 將excel中的數(shù)據(jù)讀取到數(shù)據(jù)庫中。 3.Apache POI (1)說明 Apache POI是Apache軟件基金會

    2024年02月06日
    瀏覽(23)
  • 【JAVA】easyexcel 導(dǎo)出excel文件帶多個圖片

    【JAVA】easyexcel 導(dǎo)出excel文件帶多個圖片

    最終效果 ?pom版本 實(shí)現(xiàn)代碼 ?

    2024年02月16日
    瀏覽(27)
  • 【Java結(jié)合EasyExcel,模板文件填充并導(dǎo)出Excel】

    【Java結(jié)合EasyExcel,模板文件填充并導(dǎo)出Excel】

    需求描述: 客戶網(wǎng)頁上填一個Excel表格,數(shù)據(jù)存到數(shù)據(jù)庫,這個導(dǎo)出接口要做的就是從數(shù)據(jù)庫中的獲取數(shù)據(jù)并填充到模板文件,最后通過response返給前端一個下載鏈接,用戶即可獲取填充好的Excel文件。 方案一: 一開始使用的是easypoi,發(fā)現(xiàn)當(dāng)填充一行數(shù)據(jù)時(shí)是OK的,但是如果

    2024年02月09日
    瀏覽(29)
  • 基于EasyExcel的Excel讀取

    1.引入依賴 2.讀取器代碼: 3.測試

    2024年02月12日
    瀏覽(22)
  • EasyExcel讀取多sheet excel異常

    使用Spring Boot集成EasyExcel進(jìn)行導(dǎo)入excel多sheet,執(zhí)行異常 file是MultipartFile,入?yún)?,主要處理流程如?異常: com.alibaba.excel.exception.ExcelCommonException: Convert excel format exception.You can try specifying the ‘excelType’ yourself 按照描述,缺少excelType參數(shù),補(bǔ)充后,代碼大概如下: 異常: com.

    2024年02月16日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包