Java HSSFworkbook XSSFworkbook SXSSFworkbook三者有什么区别呢?
下文笔者讲述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);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。