91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

輕松解決普通poi形式導(dǎo)出Excel的中出現(xiàn)的棧溢出問題,此資源可實現(xiàn)千萬級數(shù)據(jù)分批導(dǎo)出csv文件,csv大數(shù)據(jù)量導(dǎo)出(千萬級別,不會內(nèi)存溢出),多線程導(dǎo)出 ,生產(chǎn)環(huán)境已經(jīng)很穩(wěn)定的使用著

資源截圖

代碼片段和文件信息

package?com.excel.common.utils.excel;

import?java.io.File;
import?java.sql.ResultSetmetaData;
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Map;

/**
?*?CSV導(dǎo)出之大量數(shù)據(jù)-導(dǎo)出壓縮包
?*?
?*/
public?class?CsvExportBatchUtils?{

????public?static?void?getExportExcel(Listject>>?list)?{
????????long?startTime?=?System.currentTimeMillis();
????????ResultSetmetaData?md?=?null;?//獲得結(jié)果集結(jié)構(gòu)信息元數(shù)據(jù)
????????Listject>?headList?=?new?ArrayList<>();

????????headList.add(“序號“);
????????//?設(shè)置數(shù)據(jù)
????????int?listCount?=?list.size();
????????for?(Map.Entryject>?entry?:?list.get(0).entrySet())?{
????????????//表頭
????????????headList.add(entry.getKey());
????????}

????????//導(dǎo)出6萬以上數(shù)據(jù)。。。
????????int?pageSize=?50000;//設(shè)置每一個excel文件導(dǎo)出的數(shù)量
????????int?quotient?=?listCount/pageSize+(listCount%pageSize?>?0???1:0);//循環(huán)次數(shù)
????????List?srcfile=new?ArrayList();
????????for(int?i=0;i????????????int?startCount?=?((i>?0???i:0)*pageSize);
????????????if((listCount%pageSize)>0){
????????????????if(i==(quotient-1)){
????????????????????pageSize?=?(int)(listCount%pageSize);//余數(shù)
????????????????}
????????????}
????????????Listject>>?dataList?=?getObjExcel(startCount?pageSizelist);
????????????//?導(dǎo)出文件路徑
????????????String?downloadFilePath?=?“C:“?+?File.separator?+?“cap4j“?+?File.separator?+?“download“+File.separator;
????????????//?導(dǎo)出文件名稱
????????????String??fileName?=?String.valueOf(i);
????????????//?導(dǎo)出CSV文件
????????????File?csvFile?=?CSVUtils.createCSVFile(headList?dataList?downloadFilePath?fileName);
????????????srcfile.add(csvFile);
????????}
????????long?endTime?=?System.currentTimeMillis();
????????System.out.println(“分批CSV導(dǎo)出“+(endTime-startTime));
????}
????private?static?Listject>>?getObjExcel(int?startCount?int?pagesize?Listject>>?list)?{

????????Listject>>?dataList?=?new?ArrayListject>>();
????????Listject>?rowList?=?null;
????????for?(int?i?=?0;?i?????????????rowList?=?new?ArrayListject>();
????????????object[]?row?=?new?object[list.get(i).entrySet().size()+1];
????????????int?endCount?=?startCount+i;
????????????row[0]?=?endCount+1;
????????????int?num=0;
????????????for?(Map.Entryject>?entry?:?list.get(endCount).entrySet())?{
????????????????num++;
????????????????row[num]=entry.getValue();
????????????}
????????????for(int?j=0;j????????????????rowList.add(row[j]);
????????????}
????????????dataList.add(rowList);
????????}
????????return?dataList;
????}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-05?14:23??java澶氱嚎紼嬪鍑篹xcel浼樺寲\
?????文件????????2705??2018-12-05?14:19??java澶氱嚎紼嬪鍑篹xcel浼樺寲\CsvExportBatchUtils.java
?????文件????????2961??2018-12-05?14:20??java澶氱嚎紼嬪鍑篹xcel浼樺寲\CsvExportThread.java
?????文件????????2702??2018-12-05?14:20??java澶氱嚎紼嬪鍑篹xcel浼樺寲\CSVUtils.java
?????文件????????1261??2018-12-05?14:20??java澶氱嚎紼嬪鍑篹xcel浼樺寲\DownLoad.java
?????文件????????2685??2018-12-05?14:20??java澶氱嚎紼嬪鍑篹xcel浼樺寲\ExecutorThread.java
?????文件???????10041??2018-09-26?16:42??java澶氱嚎紼嬪鍑篹xcel浼樺寲\java涓璫sv澶ф暟鎹紙鍗冧竾綰у埆錛変紭鍖栧鍑?rar
?????目錄???????????0??2018-12-05?14:24??__MACOSX\
?????目錄???????????0??2018-12-05?14:24??__MACOSX\java澶氱嚎紼嬪鍑篹xcel浼樺寲\
?????文件?????????795??2018-09-26?16:42??__MACOSX\java澶氱嚎紼嬪鍑篹xcel浼樺寲\._java涓璫sv澶ф暟鎹紙鍗冧竾綰у埆錛変紭鍖栧鍑?rar
?????文件????????2434??2018-12-05?14:20??java澶氱嚎紼嬪鍑篹xcel浼樺寲\ThreadPools.java
?????文件????????6133??2018-12-05?14:20??java澶氱嚎紼嬪鍑篹xcel浼樺寲\ZipUtil.java
?????文件???????13872??2018-12-05?14:23??java澶氱嚎紼嬪鍑篹xcel浼樺寲\ZipUtils.java

評論

共有 條評論