POI提供了HSSF、XSSF以及SXSSF三种方式操作Excel。
HSSF:Excel97-2003版本,扩展名为.xls。一个sheet最大行数65536,最大列数256。
XSSF:Excel2007版本开始,扩展名为.xlsx。一个sheet最大行数1048576,最大列数16384。
SXSSF:是在XSSF基础上,POI3.8版本开始提供的支持低内存占用的操作方式,扩展名为.xlsx。
Excel版本兼容性是向下兼容。
三种类的接口及方法:
HSSF:HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell……
XSSF:XSSFWorkbook、XSSFSheet、XSSFRow、XSSFCell……
SXSSF:SXSSFWorkbook、Sheet、Row、Cell……
很显然,SXSSF比较特殊,除了workBook带前缀外,其余均无前缀。而HSSF和XSSF都带了各自的前缀。所以设置格式等在相互之间切换还是很简单的。
很重要的一点,SXSSF之所以是一种低内存操作方式,是因为他的构造方法:
SXSSFWorkbook w3= new SXSSFWorkbook(100);
这个100,你可以理解为POI操作时,内存中最多只有100行数据,当超过这个数据时,就将内存之前的数据删除,并且会在硬盘中生成临时文件。从而保证了低内存消耗。当然,你也可以将这个数字调大一点。
后面我会补充三种方式进行POI操作的具体代码。