首页 > 代码库 > Apache POI
Apache POI
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模型就是为了统一这两种接口的。
Apache POI
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。