全球旧事资料 分类
一、Excel基础二、HSSF概况三、通过usermodel读取文件四、通过usermodel写入文件五、通过eve
tusermodel读取文件六、HSSF电子表格结构七、通过HPSF读取文档属性八、文档摘要信息九、附录━━━━━━正文:━━━━━━在上一篇文章中,我们介绍了POI项目的基本概念,了解了如何用POI来读写OLE2复合文档结构,并给出了两个简单的例子:用POI来读写Excel文件的Workbook流。本文继续前文的话题,阐述如何用POI来读取写入完整的Excel文件。约定:POI项目20版现在已经接近正式发行阶段,开发进度迅速,不断有新的功能集成到原有的系统,同时也有对原有系统的修改。为了保证本文的及时性,本文将按照最近的19开发版说明。虽然编译最近的发行版源代码也能正常运行,但现在的代码和20的发行版会有一些出入。一、Excel基础MicrosoftExcel97文件格式也被称为BIFF8,最近版本的Excel只对该格式作了少量的改动。增加对新格式的支持除了增加项目的复杂性之外,唯一的效果也许只是不得不使每个用户升级代码,没有什么实际的好处。因此,在下文说明中,凡是提到Excel97格式的地方其实都是指Excel从97到XP的格式。二、HSSF概况POI项目实现的Excel97文件格式称为HSSF也许你已经猜到,HSSF是HorribleSpreadSheetFormat的缩写,也即“讨厌的电子表格格式”(微软使某些原本简单的事情过分复杂,同时又过分简单地处理了某些原本需要灵活性的事情,让人不胜佩服!)也
f许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。前面一篇文章提到了POIFS,那么HSSF和POIFS又有什么关系呢?就象其他POI的API一样,HSSF建立在POIFS的基础上,因此在HSSF内的有些代码和前文的某些代码很相似。不过,当我们编写基于HSSFAPI的代码时,一般不需要了解POIFSAPI的细节。HSSF为读取操作提供了两类API:usermodel和eve
tusermodel,即“用户模型”和“事件用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。usermodel主要有orgapachepoihssfusermodel和orgapachepoihssfeve
tusermodel包实现(在HSSF的早期版本中,orgapachepoihssfeve
tusermodel属于eve
tmodel包)。usermodel包把Excel文件映射成我们熟悉的结构,诸如Workbook、Sheet、Row、Cell等,它把整个结构以一组对象的形式保存在内存之中。eve
tusermodel要求用户熟悉文件格式的底层结构,它的操作风格类似于XML的SAXAPI和AWT的事件模型(这就是eve
tusermodel名称的起源),要掌r
好听全球资料 返回顶部