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:\Users\xxxxxAppData\Local\Temp
Linux下是 /var/tmp/
要根据实际情况,看是否删除这些临时文件
官方也提供了一些解决方式:
https://issues.apache.org/bugzilla/show_bug.cgi?id=53493
与XSSF的对比
在一个时间点上,只可以访问一定数量的数据
不再支持Sheet.clone()
不再支持公式的求值
特性汇总
HSSF,XSSF和SXSSF的区别的更多相关文章
- Apache POI HSSF,XSSF和SXSSF的区别
http://blog.csdn.net/benben_1678/article/details/39989683 写的很好,用SXSSF即可解决大数据量,内存占用过高问题
- HSSF、XSSF和SXSSF区别以及Excel导出优化
之前有写过运用POI的HSSF方式导出数据到Excel(见:springMVC中使用POI方式导出excel至客户端.服务器实例),但这种方式当数据量大到一定程度时容易出现内存溢出等问题. 首先,PO ...
- java自定义excel
文件下载 本文主要介绍spring boot环境下,利用Apache POI操作Excel,实现Excel文件的在线下载. 首先,我们在这里介绍一下关于ApachePOI中关于HSSF,XSSF和SX ...
- poi大数据导入解决方法
This one comes up quite a lot, but often the reason isn't what you might initially think. So, the fi ...
- springMVC中使用POI方式导出excel至客户端、服务器实例
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里的方法支持导出excel至项目所在服务器,或导 ...
- POI和EasyExcel的使用
1.POI使用 1.1 什么是POI POI简介(Apache POI),Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office ...
- 使用POI实现报表打印功能
[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/53393453 作者:朱培 ID:sdksdk0 这 ...
- POI 海量数据/大数据文件生成SXSSFWorkbook使用简介
在之前我们知道处理xls的excel用的workbook是HSSFWorkbook,处理xlsx的excel用的是XSSFWorkbook. 上面两个类导出excel的时候数据会驻留在内存中,所以当数 ...
- 使用poi解决导出excel内下拉框枚举项较多的问题
废话少说,直接上代码: package com.fst.attachment.controller; import java.io.FileOutputStream; import org.apach ...
随机推荐
- 使用HTML5构建下一代的Web Form
HTML语言作为如今编程最为广泛的语言,具有易用.快捷.多浏览平台兼容等特点,但是随着时代的进步,HTML的标准却停滞不前,这一次还在不断开发中的[color=#444444 !important]H ...
- nginx + php +mysql (适配thinkphp)
Nginx 单机配置 http://tengine.taobao.org/book/index.html (taobao book) http://ubuntuhandbook.org/index.p ...
- 【转】src与href属性的区别
ref:http://www.jb51.net/web/77258.html src和href之间存在区别,能混淆使用.src用于替换当前元素,href用于在当前文档和引用资源之间确立联系. src是 ...
- 获取php的配置
ini_get — 获取一个配置选项的值 返回值 成功是返回配置选项值的字符串,null 的值则返回空字符串.如果配置选项不存在,将会返回 FALSE. <?php /* 我们的 php.ini ...
- seeting菜单界面形成--优化
本文是上一篇文章的优化版: 上文链接地址:http://www.cnblogs.com/zzw1994/p/5016864.html 上文中有很多方法都是过时,并且效率不是很高,主要对JAVA代码进行 ...
- .NET Framework4.0 下的多线程
一.简介 在4.0之前,多线程只能用Thread或者ThreadPool,而4.0下提供了功能强大的Task处理方式,这样免去了程序员自己维护线程池,而且可以申请取消线程等...所以本文主要描述Tas ...
- Fix: Compile project encounter undefined reference to“xxx”error
Need to add all the new cpp files to jni/Andriod.mk folder:
- ORACLE DG之参数详解
1.DB_NAME 数据库名字,需要保持同一个Data Guard中所有数据库DB_NAME相同. 主库和备库相同 DB_NAME='chicago' DB_NAME='chicago' 2.DB_U ...
- 02-线性结构3 Pop Sequence
Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and p ...
- STM32F0xx_FLASH编程(片内)配置详细过程
Ⅰ.概述 关于数据的储存,我觉得编程的人基本上都会使用到,只是看你储存在哪里.STM32的芯片内部FLASH都是可以进行编程的,也就是说可以拿来储存数据.但是,很多做一些小应用程序开发的人都没有利用好 ...