POI一(介绍)


  • POI(介绍)
玩j2e项目,在实际开发中经常会用到导入和导出功能,一般使用的都是excel。在这里整理一下有关POI的知识,本篇博客先做一个POI的介绍。
  • 什么是Apache POI?

Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Office文件的开源库。它包含类和方法对用户输入数据或文件到MS Office文档进行解码。


在我们实际的开发中,表现层的解决方案虽然有多样,但是IE浏览器已成为最多人使用的浏览器,因为大家都用Windows。在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。


Apache的Jakata项目的POI子项目,目前比较成熟的是HSSF接口,处理MSExcel对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。


除了POI,有许多厂商谁提供Java Excel相关的API,比较常用的有:
  • Java Aspose Cells
Java Aspose Cells 是一种纯粹的Java授权的Excel API,开发和供应商Aspose发布。这个API的最新版本是8.1.2,发布于2014年7月,是一个丰富而厚重的API(普通Java类和AWT类的组合)设计,可以读、写和操纵电子表格Excel的组件。此API常见用途如下:

1,Excel报表,建立动态Excel报表

2,高保真的Excel渲染和打印

3,从Excel电子表格中导入和导出数据

4,生成,编辑,转换和电子表格

  • JXL
JXL是一款专为Selenium第三方框架,支持基于Web浏览器(数据是Web浏览器自动更新)数据驱动的自动化。然而,它也被用来作为JExcel API的一个共同的支持库,因为它的基本功能是可创建,读取和写入电子表格。基本特征如下:
生成Excel文件

1,从工作簿和电子表格导入数据

2,获得行和列的总数  注意:JXL只支持xls档案格式,并且不能处理大数据量。

  • JExcel
JExcel是由Team Dev开发提供纯行货API。利用这一点程序员可以很容易地读取,写入,显示和修改Excel工作簿中的两种格式:.xls和.XLSX。这个API可以很容易地嵌入Java的Swing和AWT。这个API的最新版本是Jexcel-2.6.12,发布于2009年,主要特点如下。

1,自动化Excel应用程序,工作簿,工作表等

2,在Java Swing应用程序作为普通的Swing组件嵌入到工作簿

3,事件侦听器添加到工作簿和电子表格

4,添加事件处理程序来处理的工作簿和电子表格事件的行为

5,添加本地对等开发定制功能


上面的这些大致的了解下就OK,以前我也使用过JXL的,功能没有POI强大的,所以以后在操作excel能用POI就用POI好了。
Apache POI是Apache软件基金会提供的100%开源库。大多数中小规模的应用程序开发主要依赖于Apache POI(HSSF+ XSSF)。它支持Excel 库的所有基本功能; 然而,呈现和文本提取是它的主要特点。


poi需要的jar包

我自己也在网上找了好多资料,都说是需要5个包,至于这些包具体的也不知道干嘛用,现在我只导入一个核心包(poi-3.9-20121203.jar),有问题再说。




最后理解一下一个Excel的文件的组织形式,一个Excel文件对应于一个workbook(HSSFWorkbook),一个workbook可以有多个sheet(HSSFSheet)组成,一个sheet是由多个row(HSSFRow)组成,一个row是由多个cell(HSSFCell)组成。
POI可以到www.apache.org下载到。实际运行时,需要有poi包就可以了。HSSF提供给用户使用的对象在rg.apache.poi.hssf.usermodel包中,主要部分包括Excel对象,样式和格式,还有辅助操作。有以下几种对象:
HSSFWorkbook :excel的文档对象
HSSFSheet :excel的表单
HSSFRow :excel的行 
HSSFCell :excel的格子单元
HSSFFont :excel字体
HSSFDataFormat :日期格式
在poi1.7中才有以下2项:
HSSFHeader :sheet头
HSSFFooter :sheet尾(只有打印的时候才能看到效果)
和这个样式
HSSFCellStyle :cell样式
辅助操作包括
HSSFDateUtil :日期
HSSFPrintSetup :打印 
HSSFErrorConstants :错误信息表

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值