這篇文章主要為大家展示了“Java如何使用POI導(dǎo)出大數(shù)據(jù)量Excel”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Java如何使用POI導(dǎo)出大數(shù)據(jù)量Excel”這篇文章吧。
在利津等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷推廣,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),利津網(wǎng)站建設(shè)費(fèi)用合理。
簡(jiǎn)介
SXSSFWorkbook 需要poi-ooxml 包3.8 及以上開(kāi)始支持,我這邊適使用的是3.9 版本,本質(zhì)是一個(gè)XSSFWorkbook 類(Excel2007 ),它使用的方式是采用硬盤空間 來(lái)大幅降低堆內(nèi)存 的占用,在系統(tǒng)的臨時(shí)文件夾目錄創(chuàng)建一個(gè)臨時(shí)文件,然后將所有大于約定行數(shù)的數(shù)據(jù)都存入臨時(shí)文件,而不是全部放在內(nèi)存中,內(nèi)存中只存放最新的 的約定條數(shù)的數(shù)據(jù),從而實(shí)現(xiàn)以硬盤空間換取內(nèi)存空間,避免內(nèi)存溢出
使用方式
與正常的Excel導(dǎo)出方法沒(méi)有區(qū)別,只是將實(shí)例化的類換為SXSSFWorkbook
SXSSFWorkbook workbook = null; OutputStream outputStream = null; try { outputStream = response.getOutputStream(); //創(chuàng)建工作簿 workbook = new SXSSFWorkbook(); // 打開(kāi)壓縮功能 防止占用過(guò)多磁盤 workbook.setCompressTempFiles(true); // 創(chuàng)建一個(gè)工作表 Sheet sheet = workbook.createSheet("表名"); // 創(chuàng)建一行 Row titleRow = sheet.createRow(0); // 創(chuàng)建一個(gè)單元格 Cell cell = titleRow.createCell(0); // 給單元格賦值 cell.setCellValue("內(nèi)容"); // 將工作簿寫(xiě)入輸出流 workbook.write(outputStream); } catch (Exception e) { e.printStackTrace(); }finally { if (workbook != null) { //使用完畢后將產(chǎn)生的臨時(shí)文件刪除 防止將磁盤搞滿 workbook.dispose(); } if (outputStream != null) { outputStream.close(); } }
以上是“Java如何使用POI導(dǎo)出大數(shù)據(jù)量Excel”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!