Java HSSFworkbook XSSFworkbook SXSSFworkbook三者有什么区别呢?

乔欣 Java经验 发布时间:2023-02-12 19:39:27 阅读数:511 1
下文笔者讲述HSSFworkbook,XSSFworkbook,SXSSFworkbook三者区别,如下所示

HSSFworkbook,XSSFworkbook,SXSSFworkbook区别

 
三者的区别:
   1.导出文件的后缀名
   2.导出excel文件时,占据内存大小

HSSFWorkbook:
   操作Excel2003以前(包括2003)的版本,扩展名是.xls

XSSFWorkbook:
   操作Excel2007的版本,扩展名是.xlsx

对于不同版本的EXCEL文档要使用不同的工具类
org.apache.poi.openxml4j.exceptions.InvalidOperationException
org.apache.poi.poifs.filesystem.OfficeXmlFileException

从POI 3.8版本开始
    基于XSSF的低内存占用API----SXSSF
当数据量超出65536条后
    使用HSSFWorkbook或XSSFWorkbook
    程序会报OutOfMemoryError Javaheap space;
	内存溢出错误
	应该使用SXSSFworkbook 

注意事项:
    使用SXSSFworkbook时,会产生临时文件,并存放于java.io.tmpdir目录下
	  如:
     Windows 10存放于C:\Users\xxxxxAppData\Local\Temp
     Linux存放于 /var/tmp/
input = classPathResource.getInputStream();
input = classPathResource.getInputStream();
Workbook wb = null;
HSSFWorkbook hwb=null;
XSSFWorkbook xwb=null;
SXSSFWorkbook swb = null;
Sheet sh = null;
wb = WorkbookFactory.create(input);
hwb = (HSSFWorkbook) WorkbookFactory.create(input);
xwb = (XSSFWorkbook) WorkbookFactory.create(input);
swb = new SXSSFWorkbook(xwb,1000);
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202302/16762025495754.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者