资讯专栏INFORMATION COLUMN

使用SXSSFWorkbook来导出excel

maybe_009 / 3121人阅读

SXSSFWorkbook是XSSFWorkbook的Streaming版本,实现了"BigGridDemo"的策略,在导出大量数据的时候,可以避免OOM。

使用实例
@Test
    public void testWriteLargeData() throws IOException {
        FileInputStream inputStream = new FileInputStream("mytemplate.xlsx");
        XSSFWorkbook wb_template = new XSSFWorkbook(inputStream);
        inputStream.close();

        SXSSFWorkbook wb = new SXSSFWorkbook(wb_template);
        wb.setCompressTempFiles(true);

        SXSSFSheet sh = (SXSSFSheet) wb.getSheetAt(0);
        sh.setRandomAccessWindowSize(100);// keep 100 rows in memory, exceeding rows will be flushed to disk
        for(int rownum = 4; rownum < 100000; rownum++){
            Row row = sh.createRow(rownum);
            for(int cellnum = 0; cellnum < 10; cellnum++){
                Cell cell = row.createCell(cellnum);
                String address = new CellReference(cell).formatAsString();
                cell.setCellValue(address);
            }

        }


        FileOutputStream out = new FileOutputStream("tempsxssf.xlsx");
        wb.write(out);
        out.close();
        // dispose of temporary files backing this workbook on disk
        wb.dispose();
    }
doc

BigGridDemo

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67542.html

相关文章

  • Springboot+poi导出Excel

    ...i导出Excel 一、引入jar包 注意需要引入3.8版本,POI3.8提供了SXSSFWorkbook类,处理大数据内存溢出的问题.可设置默认内存大小,多出的部分可存入硬盘中,不会内存溢出. org.apache.poi poi 3.8 org.apache.poi poi-ooxml 3.8 ...

    CHENGKANG 评论0 收藏0
  • 使用ApachePOI生成XLSX格式Excel文档大数据量导出

    ...重复创建Excel单元格样式(否则受Excel创建样式数量限制) SXSSFWorkbook基于模板写入数据的时候仍需要借助XSSFWorkbook SXSSFWorkbook写入数据模式大致为:根据初始化设置的flushRows(内存存储条数)数随着数据写入逐步把数据刷新至硬盘,具...

    Shihira 评论0 收藏0
  • Excel大批量数据的导入和导出,如何做优化?

    ...比较大,官方也意识到这个问题,在3.8版本之后,提供了SXSSFWorkbook优化写性能。官方说明https://poi.apache.org/components/spreadsheet/how-to.html#sxssf使用SXSSFWorkbook使用特别的简单,只需要改一行代码就OK了。原你的代码可能是长...

    Tecode 评论0 收藏0
  • 基于haddop的HDFS和Excel开源库POI导出大数据报表(二)

    ...che.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; i...

    WalkerXu 评论0 收藏0
  • java 导出 excel 最佳实践,java 大文件 excel 避免OOM(内存溢出) exce

    ...xcel 导出,是一个很常见的需求。 最常见的解决方案就是使用 poi 直接同步导出一个 excel 文件。 客户体验 & 服务性能 客户体验 如果导出的文件比较大,比如几十万条数据,同步导出页面就会卡主,用户无法进行其他操作。 服...

    K_B_Z 评论0 收藏0

发表评论

0条评论

maybe_009

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<