Java使用easyExcel導(dǎo)出excel數(shù)據(jù)案例
easyExcel簡介:
Java領(lǐng)域解析、生成Excel比較有名的框架有Apache poi、jxl等。但他們都存在一個嚴(yán)重的問題就是非常的耗內(nèi)存。如果你的系統(tǒng)并發(fā)量不大的話可能還行,但是一旦并發(fā)上來后一定會OOM或者JVM頻繁的full gc。
easyExcel是阿里巴巴開源的一個excel處理框架,以使用簡單、節(jié)省內(nèi)存著稱。
easyExcel采用一行一行的解析模式,并將一行的解析結(jié)果以觀察者的模式通知處理
easyExcel能大大減少占用內(nèi)存的主要原因是在解析Excel時沒有將文件數(shù)據(jù)一次性全部加載到內(nèi)存中,而是從磁盤上一行行讀取數(shù)據(jù),逐個解析。
1.導(dǎo)入依賴【poi不能低于3.17,不然可能會報錯】
<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> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.2-beta5</version> </dependency>
2.控制層
<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> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.2-beta5</version> </dependency>
3.導(dǎo)出模型
package com.iflytek.edu.hnezxjgl.model;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import lombok.Data;
@Data
public class ExportModel extends BaseRowModel{
/**
* 賬號
*/
@ExcelProperty(value = {"賬號"}, index = 0)
private String platformNum;
/**
* 姓名
*/
@ExcelProperty(value = {"姓名"}, index = 1)
private String name;
/**
* 身份證號
*/
@ExcelProperty(value = {"身份證號"}, index = 2)
private String idCardNum;
/**
* 性別
*/
@ExcelProperty(value = {"性別"}, index = 3)
private String sexName;
/**
* 年級
*/
@ExcelProperty(value = {"年級"}, index = 4)
private String gradeName;
/**
* 班級
*/
@ExcelProperty(value = {"班級"}, index = 5)
private String className;
/**
* 學(xué)費繳費狀態(tài)名稱
*/
@ExcelProperty(value = "學(xué)費繳費狀態(tài)名稱",index = 6)
private String studyFeeStatusName;
/**
* 書本費繳費狀態(tài)名稱
*/
@ExcelProperty(value = "書本費繳費狀態(tài)名稱",index = 7)
private String bookFeeStatusName;
}
4.幾萬條數(shù)據(jù)實現(xiàn)秒導(dǎo)

到此這篇關(guān)于Java使用easyExcel導(dǎo)出excel數(shù)據(jù)案例的文章就介紹到這了,更多相關(guān)Java easyExcel導(dǎo)出excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java實現(xiàn)從數(shù)據(jù)庫導(dǎo)出大量數(shù)據(jù)記錄并保存到文件的方法
- Java數(shù)據(jù)導(dǎo)出功能之導(dǎo)出Excel文件實例
- Java實現(xiàn)Excel導(dǎo)入導(dǎo)出數(shù)據(jù)庫的方法示例
- java導(dǎo)出數(shù)據(jù)庫的全部表到excel
- Java使用poi組件導(dǎo)出Excel格式數(shù)據(jù)
- java從mysql導(dǎo)出數(shù)據(jù)的具體實例
- java web將數(shù)據(jù)導(dǎo)出為pdf格式文件代碼片段
- java實現(xiàn)異步導(dǎo)出數(shù)據(jù)
- Java樹形結(jié)構(gòu)數(shù)據(jù)生成導(dǎo)出excel文件方法記錄
- JAVA實現(xiàn)億級千萬級數(shù)據(jù)順序?qū)С龅氖纠a
相關(guān)文章
Java8深入學(xué)習(xí)系列(一)lambda表達(dá)式介紹
Java8最值得學(xué)習(xí)的特性就是Lambda表達(dá)式和Stream API,所以我們學(xué)習(xí)java8的第一課就是學(xué)習(xí)lambda表達(dá)式,下面這篇文章主要給大家介紹了關(guān)于Java8學(xué)習(xí)之lambda的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08
使用jib插件為Java應(yīng)用構(gòu)建鏡像的方法
這篇文章主要介紹了使用jib插件為Java應(yīng)用構(gòu)建鏡像,要是用戶本地沒安裝docker,可以使用jib制作出帶有鏡像的tar文件,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
Java 定時器(Timer,TimerTask)詳解及實例代碼
這篇文章主要介紹了 Java 定時器(Timer,TimerTask)詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01
IntelliJ IDEA安裝scala插件并創(chuàng)建scala工程的步驟詳細(xì)教程
這篇文章主要介紹了IntelliJ IDEA安裝scala插件并創(chuàng)建scala工程的步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07

