• POI导出excel模板三种方式


    POI简介

      POI是Apache软件基金会用java编写的免费开源的跨平台的Java API,提供API给java程序对Microsoft Office格式档案读和写的功能,一般用来操作Excel文件。用javaPOI导出Excel时,需要考虑Excel版本和数据量的问题。

      JavaPOI导出Excel有三种形式:

          

    (1) 第一种HSSFWorkbook

      POI导出Excel最常用的方式,局限是导出的行数最多为65535行,超出65536条后系统就会报错,此方式因为行数不足七万行所以一般不会发生内存不足的情况。

    (2)第二种XSSFWorkbook

      这种形式突破了HSSFWorkbook的65535行局限,对应excel2007(1048576行,16384列)扩展名为.xlsx,最多可以导出104万行,会有OOM内存溢出,原因是你所创建的book sheet row cell等此时是存在内存的并没有持久化。

    (3)第三种SXSSFWorkbook

      从POI3.8版本开始,提供了一种基于XSSF的低内存占用的SXSSF方式。对于大型excel文件的创建,一个关键问题就是,要确保不会内存溢出。对于大型excel的创建且不会内存溢出的,就只有SXSSFWorkbook了。它的原理很简单,用硬盘空间换内存(就像hash map用空间换时间一样)。 

      当数据量超出65536条后,在使用HSSFWorkbook或XSSFWorkbook,程序会报OutOfMemoryError:Javaheap space;内存溢出错误。这时应该用SXSSFworkbook。

      参考:https://blog.csdn.net/fuhanghang/article/details/108836891

    excel2003和excel2007对比:

         

      大批量读写数据:

         

       参考:https://blog.csdn.net/sinat_28007043/article/details/92840532

  • 相关阅读:
    洛谷 P1040 加分二叉树
    洛谷 P1892 团伙
    洛谷 P2024 食物链
    洛谷 P1196 银河英雄传说
    并查集--算法,优化,变种
    洛谷 P1801 黑匣子_NOI导刊2010提高(06)
    洛谷 P3370 【模板】字符串哈希
    洛谷 P1090 合并果子
    洛谷 P1219 八皇后
    线的缩放效果
  • 原文地址:https://www.cnblogs.com/cxli99/p/13786299.html
Copyright © 2020-2023  润新知