<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ……天天向上

    好的想法總是無窮無盡

    統計

    留言簿(1)

    閱讀排行榜

    評論排行榜

    使用jxl導出大數據量EXCEL時內存溢出的解決辦法

    1、通過jx1最新版本的采用臨時文件寫入EXCEL功能,設定臨時文件的位置,可以有效的避免內存溢出:
                wbSetting.setUseTemporaryFileDuringWrite(true);   
                wbSetting.setTemporaryFileDuringWriteDirectory(new File(excelPath));//臨時文件夾的位置


    2、EXCEL獲取的list集合先讀取數據總行數,再通過ROWNUM進行控制,設定每次讀取多少行數據,比如一個List設定為50000;
                WorkbookSettings wbSetting = new WorkbookSettings();   
                wbSetting.setUseTemporaryFileDuringWrite(true);   
                wbSetting.setTemporaryFileDuringWriteDirectory(new File(excelPath));//臨時文件夾的位置
                workbook = Workbook.createWorkbook(new File(fullPath),wbSetting);
                int returnCount=0;
                if(null!=pager)
                {
                    returnCount = BrasDatabase.getReturnCount(pager.getStartTime(),
                            pager.getEndTime(), pager);
                }

                if (returnCount > 0) {    
                    pager.setPageSize(50000);
                    pager.setTotalRows(returnCount);// 獲取總行數
                    pager.setNewTotalPages(pager.getTotalRows()); // 總頁數
                    for (int i = 1; i 
    <= pager.getTotalPages(); i++) {
                        pager.setCurrentPage(i); // 當前頁面d
                        List<BrasAuth
    > list = BrasDatabase
                                .getBrasAuthResultByIpToExcelList(pager
                                        .getStartTime(), pager.getEndTime(), pager);
                        this.createExcel(list,excelFilePath);
                        list.clear();
                    }
                }



    3、在寫入EXCEL的時候,將讀取的LIST分割,每50000條數據生成一個EXCEL的sheet(一個sheet最多能存儲60000多行數據),再寫入,寫入的時候,如果設置了采用臨時文件寫入的話,jx1會自動采用生成臨時文件的方式寫入EXCEL:
            for(int i=1;i<=list.size();i++)
            {
                if(i%50000
    ==0)
                
    {
                    sheetName
    =format.format(new Date());
                    toExcel(list.subList(reNum, i),sheetName);
                    reNum
    =i;
                
    }
            }

    posted on 2012-07-16 11:48 japper 閱讀(8903) 評論(1)  編輯  收藏 所屬分類: Java

    評論

    # re: 使用jxl導出大數據量EXCEL時內存溢出的解決辦法 2015-08-04 20:04 林秀東

    開啟寫臨時文件功能不懂用,我的報:系統找不到指定路勁,路徑我檢查過了的,請問樓主還有更加詳細的代碼嗎?謝謝  回復  更多評論   

    主站蜘蛛池模板: AAAAA级少妇高潮大片免费看| 国产精品观看在线亚洲人成网| 一级中文字幕免费乱码专区| 国产a不卡片精品免费观看| 亚洲熟妇AV日韩熟妇在线| 久久久高清免费视频| 亚洲午夜无码久久久久小说| 午夜神器成在线人成在线人免费| 麻豆狠色伊人亚洲综合网站| 成年美女黄网站18禁免费| 亚洲无人区码一二三码区别图片 | 麻豆亚洲AV成人无码久久精品| 成人免费视频软件网站| www亚洲精品久久久乳| 免费A级毛片无码A| 中文字字幕在线高清免费电影| 亚洲国产精品va在线播放| 污视频在线免费观看| 亚洲国产成人精品无码一区二区 | CAOPORN国产精品免费视频| 亚洲第一AV网站| 免费精品国产自产拍在线观看图片 | fc2免费人成在线| 亚洲av永久无码精品秋霞电影影院| 91精品手机国产免费| 亚洲一区二区无码偷拍| 亚洲VA综合VA国产产VA中| 免费看又黄又无码的网站| 亚洲色精品VR一区区三区| 亚洲性日韩精品国产一区二区| 美女视频黄a视频全免费网站色窝| 亚洲男女一区二区三区| 国产午夜无码视频免费网站| 视频免费在线观看| 亚洲一级毛片在线播放| 亚洲国产精品尤物yw在线| 无码一区二区三区免费| 久久久久久亚洲av无码蜜芽| 亚洲国产精品无码中文字| 毛片免费观看的视频| 久久er国产精品免费观看8|