zoukankan      html  css  js  c++  java
  • poi导出中三种workBook的使用分类

    第一种:HSSFWorkbook 

    针对是 EXCEL2003 版本,扩展名为 .xls;所以 此种的局限就是 导出的行数 至多为 65535 行,此种 因为行数不足七万行 所以 一般不会发生 内存不足的情况(OOM)

    第二种:XSSFWorkbook 

    这种形式的出现 是由于 第一种HSSFWorkbook 的局限性而产生的,因为其所导出的行数比较少,所以 XSSFWookbook应运而生 其 对应的是EXCEL2007+(1048576行,16384列)扩展名 .xlsx,最多可以 导出 104 万行,不过 这样 就伴随着一个问题---OOM 内存溢出,原因是 你所 创建的 book sheet row cell 等 此时是存在 内存的 并没有 持久化,那么 随着 数据量增大  内存的需求量也就增大,那么很大可能就是要 OOM了,那么 怎么解决呢?

    第三种:SXSSFWorkbook  poi.jar 3.8+

    第二种遇到的问题该如何解决呢? 因为数据量过大 导致内存吃不消 那么 可以 让内存 到量持久化 吗? 

    输入的时候我查阅了poi的api发现一般是不能大批量数据输入的,但是poi的2007支持大数据处理
    Workbook wb = new SXSSFWorkbook(5000);
    在生成Workbook 时给工作簿一个内存数据存在条数,这样一旦这个Workbook 中数据量超过5000就会写入到磁盘中,减少内存的使用量来提高速度和避免溢出。
  • 相关阅读:
    mysql(一)
    spring
    数据库连接池
    spring jdbctemplate
    HDU-4219-Randomization?
    离线赛总结
    HDU-4507-吉哥系列故事-恨7不成妻
    HDU-1204-糖果大战
    [BZOJ1150][CTSC2007]数据备份
    二分图学习笔记
  • 原文地址:https://www.cnblogs.com/jiang--nan/p/8664860.html
Copyright © 2011-2022 走看看