POI 的简单使用 Java操作Excel的框架

POI的介绍

Java操作办公软件

在开发中,我们经常需要写程序还操作办公软件(其中操作得最多的就是Word与Excel)!
因此,我们使用代码过生成,读取这些文件的数据也是很重要的一个功能。
而我们Java中,也是提供了相应的操作办公软件的框架,其中,最常用的是下面两种:
jxl:只能对Excel进行操作,属于比较老的框架。
POI:是apache的项目,可对ms的word,Excel,PPT进行操作,包括office2003和2007。对两种版本的处理都比较好。具体操作请看官方的文档。

POI的入门(以生成一个乘法表为例)

创建一个普通的maven项目引入POI的jar

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi</artifactId>
  <version>3.11</version>
</dependency>
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>3.11</version>
</dependency>

创建一个Excel

这里就是生成一个Excel 到你的硬盘中

public class ExcelTest {

    //创建一个Excel文件
    //在文件里加一个99乘法法
    //把这文件保存在项目中
    @Test
    public void testCreateExcel() throws Exception{
        //1.创建一个Excel文件(内存中)
        SXSSFWorkbook wb = new SXSSFWorkbook();
        //2.创建一张表
        Sheet sheet = wb.createSheet("99乘法表");
        //3.创建行
        for (int i = 1; i <= 9; i++) {
            Row row = sheet.createRow(i-1);
            //4.创建列(格子)
            for (int j = 1; j <= i; j++) {
                Cell cell = row.createCell(j-1);
                //5.格子中加数据
                cell.setCellValue(i+"*"+j+"="+(i*j));
            }
        }
        //从内存中写出来
        FileOutputStream out = new FileOutputStream("99.xlsx");
        wb.write(out);
        out.close();
        }
       } 

读取Excel

使用已经准备好的Excel做测试

@Test
public void readExcel() throws Exception{
    File file = new File("employee-3.xlsx");
    FileInputStream fis = new FileInputStream(file);
    //1.读取一个Excel文件(内存中)
    Workbook wb = new XSSFWorkbook(fis);
    //2.拿到第个sheet表
    Sheet sheet = wb.getSheetAt(0);
    //3.拿到wb中的行(不要拿头部)
    int lastRowNum = sheet.getLastRowNum();
    for (int i = 1; i <= lastRowNum; i++) {
        Row row = sheet.getRow(i);
        //4.拿到每一列(格子)
        short lastCellNum = row.getLastCellNum();
        for (int j = 0; j < lastCellNum; j++) {
            Cell cell = row.getCell(j);
            System.out.print(cell.getStringCellValue()+" ");
        }
        System.out.println();
    }
}

总结

到这里,POI的简单使用我们已经学会了!也就是入门了。如果你还需要更多的细节,你可以参考POI的官方文档!

你可能感兴趣的:(随笔)