码迷,mamicode.com
首页 > 其他好文 > 详细

POI使用总结

时间:2014-07-22 22:39:54      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   文件   

POI是apache下一个进行office相关格式文件的读写开源工具。我们最近在使用这个框架实现Excel格式数据的导入和导出功能。这里进行一个使用总结。POI提供两种读写API模型:事件模型(eventmodel)和用户模型(usermodel)。
      事件模型,基于流(stream)的方式实现,使用sax(simple api for XML)模型进行xml内容解析,对CPU和内存的消耗小,但使用复杂,且无法进行写操作。
       用户模型,基于内存树(memory tree)的方式实现,使用DOM进行excel的解析,对CPU和内存的消耗大,但能够以面向对象的方式进行操作,使用简便,可读可写。
       对于2007版excel,POI还提供了可缓存流的用户模型API,使用滑动窗口(sliding window)的方法控制缓存区的大小,实现对海量数据的读写。我在我的笔记本(i5双核,4G内存)上使用POI官方的例子测试10列*6万行的写入效率,当缓存为100行的时候只需要5秒,确实快。具体API的特性可以参考一下表格(来源于POI官网):

bubuko.com,布布扣bubuko.com,布布扣

       很明显,2007版excel在读写方面POI做的更好,2003版在海量数据写入方面支持不够,所以在设计系统的导入、导出功能时,应该优先考虑2007版。
        在系统导入、导出功能优化的过程中,应该遵守“先明确性能瓶颈,再分析、确定、实施调优方案”的思路,不要想当然的以为性能就出现在POI上,很有可能性问题就出现准备数据的过程中(如查询数据、转换格式)。理清思路,不盲目猜测,是性能优化的首要步骤,谨记!

POI使用总结,布布扣,bubuko.com

POI使用总结

标签:style   blog   http   color   使用   文件   

原文地址:http://blog.csdn.net/huihuijor/article/details/38040055

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!