Poi官网:Apache POI - the Java API for Microsoft Documents

Poi简介:

Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能

POI为“Poor Obfuscationmplementation”的首字母缩写,意为“可怜的模糊实现”。

Apache POI 是创建和维护操作各种符合Office Open XML(OOXML)标准和微软的OLE 2复合文档格式(OLE2)的Java API。用它可以使用Java读取和创建,修改MS Excel文件.而且,还可以使用Java读取和创建MS Word和MSPowerPoint文件。Apache POI 提供Java操作Excel解决方案。

Poi封装的对象:

java poi excel读取树结构 java poi 读取excel并写入数据_java poi excel读取树结构

从Excel文件读取数据步骤:

 1.创建一个Excel文件

 2.创建工作表

 3.创建行

 4.创建单元格赋值

 5.通过输出流将对象下载到磁盘

代码实现:

创建Maven工程,导入jar依赖

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

具体实现:

package com.liming.write;

import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;

public class Demo1 {
    public static void main(String[] args) throws IOException {
        //1.创建工作薄
        XSSFWorkbook workbook = new XSSFWorkbook();
        //2.创建工作表
        XSSFSheet sheet = workbook.createSheet("工作表一");
        //3.创建行
        XSSFRow row = sheet.createRow(0);
        //4.创建单元格
        row.createCell(0).setCellValue("Hello");
        row.createCell(1).setCellValue("poi");

        //创建第二行
        XSSFRow row1 = sheet.createRow(1);
        row1.createCell(0).setCellValue("Hello");
        row1.createCell(1).setCellValue("poi");

        //输出流
        FileOutputStream out = new FileOutputStream("D:\\test.xlsx");
        workbook.write(out);
        out.flush();//刷新

        //释放资源
        workbook.close();
        out.close();

        System.out.println("写入成功!!!");
    }
}

运行效果图:

java poi excel读取树结构 java poi 读取excel并写入数据_excel_02