您的位置:首页 > 编程语言 > Java开发

java poi复习

2015-11-11 10:24 309 查看
Poi是apache的开源组件,提供一套java的api对word、excel等文档进行操作。

学习HSSF、XSSF,对excel操作。

使用HSSF进行excel文件写操作:

HSSF只支持97-03版本excel,扩展名是.xls,每个sheet行数最大65536行。

缺点:如果写数据量大文件,可能会导致内存溢出,原因,将所有数据对象放在内存中,最后执行文件内容写。

优点:对于小数据量文件写操作,速度很快的。

使用XSSF对excel写操作:

XSSF只支持07以上版本excel,扩展名是.xlsx(不向下兼容), 每个sheet对行数据没 限制。

优点:对大数据量文件执行写操作,不会导致内存溢出,原因,在写的过程中生成很多临时文件,一边写一边生成文件(内存中不会保留很多数据),最后将临时文件合并输出。

缺点:对大数据量写操作,速度不快。

如果需要导出1000条数据,使用HSSF导出。

工具类掌握 ExcelExportSXXSSF。

使用HSSF和XSSF对excel进行读操作:

HSSF只支持97-03版本excel,扩展名是.xls,每个sheet行数最大65536行。

使用HSSF用户驱动模式:

优点:方便编程,对于小数据量文件写操作,速度很快的。

缺点:如果写大数据量文件,可能导致内存溢出,原因,将文件内容全部加载到内存,进行读操作。

使用HSSF事件驱动模式:
大概原理:通过事件驱动模式,需要实现一个接口HSSFListener,接口方法中定义事件驱动执行内容,在解析Excel文件每一行、每一个单元格直到解析出数据,这个过程进行不同的事件驱动。
目标:在解析完每一行数据后事件驱动,将每一行数据获取到。

优点:对读取大数据量的文件,不会导致内存溢出。
缺点:编程实现复杂,读取文件速度不快,原因是在读取时进行事件 驱动,一边读一边进行事件驱动。


使用XSSF事件驱动模式。

XSSF只支持07以上版本excel,扩展名是.xlsx(不向下兼容), 每个sheet对行数据没 限制。

事件驱动的方法同HSSF事件驱动。

使用HSSF或XSSF读取文件,实现数据导入,一般情况下03版本的65536行数据量够用。

如果本机安装07版本的excel软件,使用HSSF导入,可以将.xlsx另存为03版本的文件。

HSSF事件驱动读文件封装类:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  poi java