·冰与火·

POI导出 .xlsx 大数据量的简单方法 SXSSFWorkbook

测了好多,用  POI 的 WritableWorkbook导出.xls     数据大时(20万)比较卡

于是就各种搜 最终找到了 POI 的  SXSSFWorkbook 

 

亲自测试一个sheet页可以有  1048576行 ,速度还可以

例子

public void exceldemo() {
        
            try {
                 FileOutputStream out = new FileOutputStream(new File("D://result.xlsx"));  
                    
                    SXSSFWorkbook writeWB = new SXSSFWorkbook(500);  
                    org.apache.poi.ss.usermodel.Sheet writeSheet = writeWB.createSheet();  

                    for (int rr = 0; rr < 1048575; rr++) {  
                        Row writeRow = writeSheet.createRow(rr);  
                        for (int cc = 0; cc < 10; cc++) {  
                            writeRow.createCell(cc).setCellValue("测试" + rr + "," + cc);  
                            System.out.println("rr"+rr);
                        }  
                    }  
                writeWB.write(out);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }  
    }

 

posted on 2017-02-08 10:48  ·冰与火·  阅读(612)  评论(0编辑  收藏  举报

导航