POI常见包名称含义,常见HSSF,SXXF,SXSSF区别

简介: POI常见包名称含义,常见HSSF,SXXF,SXSSF区别

详细用法会在POI,EasyExcel统一讲解。


   

HSSF 是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。 通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。

     

HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。


Java中最常见就是HSSF,SXXF,SXSSF,三者区别在于:


HSSF:Excel97-2003版本,扩展名为.xls。一个sheet最大行数65536,最大列数256。


XSSF:Excel2007版本开始,扩展名为.xlsx。一个sheet最大行数1048576,最大列数16384。


SXSSF:是在XSSF基础上,POI3.8版本开始提供的支持低内存占用的操作方式,扩展名为.xlsx。


HSSF用于Excel03版本:


     

缺点:最多只能处理65536行,否则会报异常,


     

优点:过程中写入缓存,不操作磁盘,最后一次性写入磁盘,速度快


SXXF用于Excel07版本:


     

缺点:写数据时速度非常慢,非常耗内存,也会发生内存溢出,如100万条数据

     

优点:可以写较大的数据量,如20万条数据


SXSSF可以理解为SXXF超大量数据升级版:


优点:可以写非常大量的数据库,如100万条甚至更多条,写数据速度快,占用更少的内存

注意:


过程中会产生临时文件,需要清理临时文件

默认由100条记录被保存在内存中,如果超出这数量,则最前面的数据被写入临时文件

如果想自定义内存中数据的数量,可以使用new SXSSFWorkbook(数量)

其他常见名称含义:


XSSF (XML SpreadSheet Format) – Used to reading and writting Open Office XML (XLSX) format files.    

HSSF (Horrible SpreadSheet Format) – Use to read and write Microsoft Excel (XLS) format files.

HWPF (Horrible Word Processor Format) – to read and write Microsoft Word 97 (DOC) format files.

HSMF (Horrible Stupid Mail Format) – pure Java implementation for Microsoft Outlook MSG files

HDGF (Horrible DiaGram Format) – One of the first pure Java implementation for Microsoft Visio binary files.    

HPSF (Horrible Property Set Format) – For reading “Document Summary” information from Microsoft Office files.

HSLF (Horrible Slide Layout Format) – a pure Java implementation for Microsoft PowerPoint files.

HPBF (Horrible PuBlisher Format) – Apache's pure Java implementation for Microsoft Publisher files.

DDF (Dreadful Drawing Format) – Apache POI package for decoding the Microsoft Office Drawing format.


相关文章
|
fastjson 前端开发
巧用fastjson自定义序列化类实现字段的转换
项目中突然需要增加另一个字段的查找,而这个查找需要查另一张表的记录。 但现在产品很多地方都要增加该字段,如何最快的实现该功能呢。 办法如下: 通过fastjson序列化时,增加该字段的序列化类,该序列化类通过CODE查找名称,并序列化到前端。
5788 0
|
1月前
|
Java
java包装器类型
java包装器类型
15 0
|
2月前
|
Java Apache Maven
Java中使用poi+poi-tl实现根据模板导出word文档
这个过程不仅简化了文档生成的工作,而且保证了生成文档的一致性与准确性,特别适合于那些需要生成大量文档的自动化场景。通过以上步骤,Java开发人员可以实现高效、可靠的Word文档导出功能。
1183 0
|
6月前
|
Java
Java包及访问限定
Java包及访问限定
36 0
|
JSON 前端开发 Java
Java:SpringBoot返回json数据时间格式、命名风格、忽略字段返回
Java:SpringBoot返回json数据时间格式、命名风格、忽略字段返回
719 0
|
Java
|
Java
简而不漏,300字Java标识符命名规则规范,看一遍就可以记住,包名类名变量名常量名,让命名有迹可循
简而不漏,300字Java标识符命名规则规范,看一遍就可以记住,包名类名变量名常量名,让命名有迹可循
194 0
|
Java
java中驼峰命名和下划线命名互转方法(代码实现)
1 /** 2 * 将驼峰式命名的字符串转换为下划线大写方式。如果转换前的驼峰式命名的字符串为空,则返回空字符串。 3 * 例如:HelloWorld->HELLO_WORLD 4 * @param name 转换前的驼峰式命名的字符串 5 * @return 转换后下划线大写方...
7752 0
|
Java
Java - 标识符、包、类、接口、方法、变量、常量的命名规则/规范
Java - 标识符、包、类、接口、方法、变量、常量的命名规则/规范
208 0
Java - 标识符、包、类、接口、方法、变量、常量的命名规则/规范
【POI框架实战】——POI导出Excel时设置单元格类型为数值类型
  最近做的一个ITFIN的项目中,后台需要用POI实现导出功能,导出的数据中有文本格式,也有货币格式,所以为了方便在将来导出的表格中做计算,存放货币的单元格需要设置为数值类型。
【POI框架实战】——POI导出Excel时设置单元格类型为数值类型