zoukankan      html  css  js  c++  java
  • HSSF,XSSF和SXSSF的区别

    HSSF是POI工程对Excel 97(-2007)文件操作的纯Java实现 
    XSSF是POI工程对Excel 2007 OOXML (.xlsx)文件操作的纯Java实现 

    从POI 3.8版本开始,提供了一种基于XSSF的低内存占用的API----SXSSF 

    SXSSF通过一个滑动窗口来限制访问Row的数量从而达到低内存占用的目录,XSSF可以访问所有行。旧的行数据不再出现在滑动窗口中并变得无法访问,与此同时写到磁盘上。 
    在自动刷新的模式下,可以指定窗口中访问Row的数量,从而在内存中保持一定数量的Row。当达到这一数量时,在窗口中产生新的Row数据,并将低索引的数据从窗口中移动到磁盘中。 
    或者,滑动窗口的行数可以设定成自动增长的。它可以根据需要周期的根据一次明确的flushRow(int keepRows)调用来进行修改。 

    注意:针对 SXSSF Beta 3.8下,会有临时文件产生,比如: 
    poi-sxssf-sheet4654655121378979321.xml 
    文件位置:java.io.tmpdir这个环境变量下的位置 
    Windows 7下是C:UsersxxxxxAppDataLocalTemp 
    Linux下是 /var/tmp/ 
    要根据实际情况,看是否删除这些临时文件
     


    官方也提供了一些解决方式: 
    https://issues.apache.org/bugzilla/show_bug.cgi?id=53493 

    与XSSF的对比 
    在一个时间点上,只可以访问一定数量的数据 
    不再支持Sheet.clone() 
    不再支持公式的求值 



    特性汇总 

  • 相关阅读:
    BZOJ 3208: 花神的秒题计划Ⅰ
    BZOJ 3207: 花神的嘲讽计划Ⅰ
    BZOJ 2732: [HNOI2012]射箭
    BZOJ 3165: [Heoi2013]Segment
    BZOJ 3626: [LNOI2014]LCA
    2017 01 16 校内小测 ZXR专场
    BZOJ 3101: N皇后
    BZOJ 1106: [POI2007]立方体大作战tet
    BZOJ 2084: [Poi2010]Antisymmetry
    【UOJ#228】基础数据结构练习题 线段树
  • 原文地址:https://www.cnblogs.com/visec479/p/4168686.html
Copyright © 2011-2022 走看看