POI入门及简单应用

        由于工作的需要,学习了一下POI,  Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

        那么我们怎么使用POI呢?POI的使用其实非常简单,都不用我们安装,我们只需要用它的几个jar包就可以了。接下来我就一步一步图文说一下如何使用POI。

第一步:下载压缩包

        到官网http://poi.apache.org/download.html#archive下载POI的压缩包,如下图所示,poi-bin-3.15-20160924.zip是Windows系统所用到的包,poi-bin-3.15-20160924.tar.gz是Linux系统所需要的包。我们下载Windows系统下所需要的poi-bin-3.15-20160924.zip。

第二步:解压并查看都有哪些Jar包

2.1 我们解压第一步下载的压缩包,解压后是名为poi-3.15的文件夹。

2.2 我们进入到poi-3.15文件夹下,我们可以看到有lib、ooxml-lib文件夹(这两个文件夹里面也是jar包)以及以poi开头的一些jar包,我们需要所有的jar包。

第三步:工程中导入jar包

3.1 我用的是Java EE,Java EE使用外部包的话,最好使用User Library的方式,因为直接建lib包并导入jar包并包含到项目中的话,jar包的排版特别难看。那么怎么新建一个User Library呢,我们点"Window"然后点"Preferences",如下图所示。

      点击上图的"Preferences"之后,会进入到如下图所示的界面,我们在搜索框中输入"User Libraries"就会搜到在Java的Build Path下面有User Libraries,我们点击它,就会看到图右侧的内容(当然,刚开始是没有poiJar和hadoopJar的,这是我建好的),我们点击"New...",然后输入要新建的User Library的名字,我起的名字是poiJar。建好了Library之后就是向里面添加jar包,我们点击"Add External JARs..."按钮,在弹出的对话框中选择我们在第二步中提到的lib、ooxml-lib文件夹下的所有jar包,以及与lib文件夹同级的所有以poi开头的jar包,都添加到poiJar当中去。

3.2 弄好了poiJar之后,我们就让工程引用一下该poiJar,方法是我们在工程上右键--------->点击"Build Path"-------->点击"Configure Build Path....",如下图所示。

  点击上图的“Configure Build Path...."之后,我们会看到如下图所示的界面,刚开始只有JRE System Library,如下图所示。我们要添加Library,点击"Add Library..."

    我们会看到如下图所示,我们点击”User Library“。然后点击“Next”

接下来我们会看到如下图所示的界面,我们勾选上poiJar,然后点击"Finish"

  接下来我们会看到如下图所示的界面,我们可以看到poiJar下面有很多jar包了。我们点击"OK"。

 

   点击"OK"之后,我们再看看我们的工程下面就多了一个外部Library,poiJar下面是我们所要用到的所有POI的jar包。

第四步:使用POI

导好了jar包,接下来我们便用一个例子来测试一下POI是否可用,我新建了一个叫TestPOI的类,在该类中使用我们POI的功能,向D盘根目录生成一个Excel文件。

package com.test;
import java.io.FileOutputStream;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class TestPOI {
 @SuppressWarnings("resource")
 public static void main(String[] args) throws Exception {
    //创建工作簿---->XSSF代表10版的Excel(HSSF是03版的Excel)
    XSSFWorkbook wb = new XSSFWorkbook();
    //工作表
    XSSFSheet sheet = wb.createSheet("会员列表");
    //标头行,代表第一行
    XSSFRow header=sheet.createRow(0);
    //创建单元格,0代表第一行第一列
    XSSFCell cell0=header.createCell(0);
    cell0.setCellValue("会员级别");
    header.createCell(1).setCellValue("会员编号");
    header.createCell(2).setCellValue("会员姓名");  
    header.createCell(3).setCellValue("推荐人编号");
    header.createCell(4).setCellValue("负责人编号");  
    header.createCell(5).setCellValue("地址编号");
    header.createCell(6).setCellValue("注册时间");
    //设置列的宽度
    //getPhysicalNumberOfCells()代表这行有多少包含数据的列
    for(int i=0;i<header.getPhysicalNumberOfCells();i++){
     //POI设置列宽度时比较特殊,它的基本单位是1/255个字符大小,
     //因此我们要想让列能够盛的下20个字符的话,就需要用255*20
     sheet.setColumnWidth(i, 255*20);
    }
    //设置行高,行高的单位就是像素,因此30就是30像素的意思
    header.setHeightInPoints(30);
    //上面设置好了内容,我们当然是要输出到某个文件的,输出就需要有输出流
    FileOutputStream fos= new FileOutputStream("d:/2010.xlsx");
    //向指定文件写入内容
    wb.write(fos);
    fos.close();  
    }
}

运行上面的程序,我们再到D盘根目录下看一下是否有我们要生成的2010.xlsx文件,我们发现确实已经正常生成,如下图所示。

我们打开2010.xlsx文件,看生成的内容是否正确,发现生成的内容包括行高都符合我们设定的值,完全没问题!

好了,以上便是POI的简单应用了。

  • 18
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值