Apache POI Excel 速度相關

2021-10-24 12:29:37 字數 1517 閱讀 6331

1. poi針對目前存在的兩種版本的excel有不同的實現方式.而對於相同版本的excel又分為dom解析和sax解析兩種.而這兩種在記憶體使用,效能各方面均有不同.

2.03和07版xls區別?

b.行數限制

07版:xssfworkbook(基於usermodel)

公升級版:sxssfworkbook(基於sxssf)

@test

public

void

testcompare03()

} system.out.

println

("共耗時"

+(system.

currenttimemillis()

-starttime)

/1000

+"秒");

//生成一張表 03版本使用xls結尾

trycatch

(exception e)

/* 共耗時0秒

生成完畢共耗時:2秒*/

}

可以看到使用hssfworkbook測試的是65536條資料,最後一次性寫入磁碟,所以速度較為快速。

@test

public

void

testcompare07()

} system.out.

println

("共耗時"

+(system.

currenttimemillis()

-starttime)

/1000

+"秒");

//生成一張表 07版本使用xlsx結尾

trycatch

(exception e)

/*共耗時19秒

07版生成完畢共耗時:27秒*/

}

可以看到使用xssfworkbook測試的是100000條資料,非常耗記憶體,超過1000000條資料也會發生記憶體溢位。

@test

public

void

testcompare07s()

} system.out.

println

("共耗時"

+(system.

currenttimemillis()

-starttime)

/1000

+"秒");

//生成一張表 07公升級版本使用xlsx結尾

trycatch

(exception e)

/* 共耗時3秒

公升級版生成完畢共耗時:5秒*/

}

可以看到使用sxssfworkbook測試的是100000條資料,寫資料速度快,占用更少的記憶體,但是過程中會產生臨時檔案,需及時清理。

採用原生api生成excel,都有可能會消耗大量記憶體,例如生成格式、合併單元格等操作。

1 秒速5 秒速五厘公尺

昨天,我做了乙個夢,乙個很久之前的夢。在夢裡,我們還只有13歲,在夢裡,一片被白雪覆蓋的廣闊的田園上。僅僅能從遠方些許地看到燈光,剛剛積起的雪地,只有我們走過時留下的足跡,就是這樣,什麼時候能再一次,一起賞櫻花。過往數年間,我只是想著先往前走想要觸控遙不可及的事物,但連那具體的目標是什麼,以及幾乎可...

雲速建站 雲速建站 小白的建站之路

作為乙個建站小白,在初次體驗華為雲建站平台,感覺特別好用,由於我截圖建站時還未確定具體 宣傳素材,故未具體細化,特整理具體流程給大家分享來學習下 1 搭建流程簡介 2 使用華為雲服務 雲速建站產品 彈性雲伺服器ecs 彈性公網ip等 網域名稱的備案等等。3 具體操作流程 網域名稱註冊及配置 對於需要...

速通車計數系統

一 應用背景 工程運輸車輛人工計數存在的問題 1 既要計數又要查驗車輛裝載是否合格,碰上車輛繁忙就會很容易出差錯 2 工作人員查驗車輛是否裝滿的標準差異性很大,而且沒有記錄可供查詢,容易引發爭議 3 採砂場及礦區環境非常惡劣,工作人員難以長時間在戶外對車輛進行查驗 4 難以提高車輛通行速度,車輛停車...