資源簡介
Java解析大數據量Excel,支持解析百萬行excel數據,十萬數據基本上十來秒就解析完畢,親測過最大excel1048576行數據用時219秒,硬件好點的PC估計跑起來更快。
代碼片段和文件信息
package?com.lx100.b2bshop.util;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileNotFoundException;
import?java.io.IOException;
import?java.io.InputStream;
import?org.apache.ibatis.annotations.Case;
import?org.apache.poi.ss.usermodel.Cell;
import?org.apache.poi.ss.usermodel.Row;
import?org.apache.poi.ss.usermodel.Sheet;
import?org.apache.poi.xssf.streaming.SXSSFWorkbook;
import?org.apache.poi.xssf.usermodel.XSSFWorkbook;
import?com.monitorjbl.xlsx.StreamingReader;
public?class?ExcelReadTest?{
public?static?void?testLoad()?{
????????try?{
InputStream?is?=?new?FileInputStream(new?File(“F:\\sftp““test.xlsx“));//文件
StreamingReader?reader?=?StreamingReader.builder()
????????.rowCacheSize(100)????//?number?of?rows?to?keep?in?memory?(defaults?to?10)
????????.bufferSize(4096)?????//?buffer?size?to?use?when?reading?InputStream?to?file?(defaults?to?1024)
????????.sheetIndex(0)????????//?index?of?sheet?to?use?(defaults?to?0)
????????.read(is);????????????//?InputStream?or?File?for?XLSX?file?(required)
int?count?=?0;
for?(Row?r?:?reader)?{
String?ss?=?““;
for?(Cell?c?:?r)?{
ss?=?ss?+?c.getStringCellValue();
}
System.out.println(ss);
count++;
}
System.out.println(“總條數:“+count);
}?catch?(FileNotFoundException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}?????
????}
public?static?void?main(String[]?args)?{
System.out.println(“----------------------------------測---------試----------------------------------“);
Long?start?=?System.currentTimeMillis();
testLoad();
Long?end?=?System.currentTimeMillis();
System.out.println(“總共用時:“+((end-start)/1000)+“秒“);
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1775??2018-11-30?14:24??java解析大數據量Excel\ExcelReadTest.java
?????文件???15555629??2018-05-16?10:28??java解析大數據量Excel\ooxm
?????文件????2701171??2018-05-16?10:34??java解析大數據量Excel\poi-3.17.jar
?????文件????1479023??2018-05-16?10:37??java解析大數據量Excel\poi-ooxm
?????文件????5947707??2018-05-16?11:07??java解析大數據量Excel\poi-ooxm
?????文件??????51073??2018-05-16?09:44??java解析大數據量Excel\xlsx-streamer-1.2.1.jar
?????文件????????251??2018-11-30?14:28??java解析大數據量Excel\使用說明.txt
?????文件????????221??2018-11-30?14:27??java解析大數據量Excel\使用說明.txt.bak
?????目錄??????????0??2018-11-30?14:28??java解析大數據量Excel
-----------?---------??----------?-----??----
?????????????25736850????????????????????9
評論
共有 條評論