标签:使用 java 文件 数据 sp c r bs 不同的
Apache POI 为Excel操作提供了两套API:
HSSF,用于操作office 97 到 office 2007 (不包含2007)之间的Excel文件,通常是.xls后缀。
XSSF,用于操作office 2007及之后版本的Excel文件,通常是.xlsx后缀
另外,自POI 3.8 beta3起,又新出了一个SXSSF API,该API与XSSF的区别是,在处理行数较大的Excel文件时只需要占用较少的内存,因为它采用了流式的处理方式,利用一个滑动窗口来决定内存中存放哪些信息。位于窗口外的数据将不被保存在内存中。
这有点类似于操作XML的两套API, DOM和SAX那样。
举例来说,一个包含一万条数据的Excel,如果使用XSSF的话,整个文件所对应的Java对象都将加载到内存中,所以你可以在内存中快速的访问Excel的任意部分,但是缺点也显而易见,就是占用了大量内存。那么如果使用XSSF的话,滑动窗口如果定义为100大小,那么随着处理的进行该窗口从0~100行数据慢慢往下移动,比如到了29~129,那么之前的28行数据将会从内存中移出,并持久化到硬盘的临时文件中,所以当窗口移动到了29,你想要访问1~28的数据就没那么容易了。
SS模型
在POI 3.5之后,有了新的SS接口,由于HSSF 和 XSSF的接口都是不同的,虽然整个模型架构区别不大。比如 HSSF有自己的 Row类,自己的CellValue类,XSSF也有自己的。而SS模型就是为了统一这两种接口的。
标签:使用 java 文件 数据 sp c r bs 不同的
原文地址:http://www.cnblogs.com/watertao-wu/p/3978653.html