Apache POI使用

1.导入坐标

XML 复制代码
        <!-- poi -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${poi}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${poi}</version>
            </dependency>

2. 测试类

说明:在D盘生成excel文件

java 复制代码
package com.sky.test;

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


import java.io.File;
import java.io.FileOutputStream;

/*
 * 使用POI操作Excel文件
 * */
public class POITest {


    public static void write () throws Exception {
        //  通过POI创建Excel文件
        XSSFWorkbook excel = new XSSFWorkbook();
        //excel文件创建一个sheet页
        XSSFSheet sheet = excel.createSheet("info");
       //在sheet创建一个行对象,rownum表示从第零行开始
        XSSFRow row = sheet.createRow(0);
        //创建单元格并且写入文件内容
        row.createCell(1).setCellValue("姓名");

        row.createCell(2).setCellValue("城市");
//        创建一个新行
         row = sheet.createRow(1);
        row.createCell(1).setCellValue("张飒");

        row.createCell(2).setCellValue("成都");
//        创建一个新行
        row = sheet.createRow(2);
        row.createCell(1).setCellValue("李四");

        row.createCell(2).setCellValue("重庆市");

//        输出流将内存的excel文件写入到磁盘
        FileOutputStream out = new FileOutputStream(new File("D:\\mm.xlsx"));
        excel.write(out);
//        关闭资源
        out.close();
        excel.close();
    }

    public static void main(String[] args) throws Exception {
     write();
    }
}

说明:在D盘读取文件

java 复制代码
   /*通过POI读取Excel文件中的内容
    * @throws Exception
    * */
    public  static  void  read() throws  Exception{
        FileInputStream in = new FileInputStream(new File("D:\\mm.xlsx"));
        //读取磁盘上存在excel文件
        XSSFWorkbook excel = new XSSFWorkbook(in);
   //读取excel文件中第一个Sheet文件
        XSSFSheet sheet = excel.getSheetAt(0);
 //获取sheet中最后一行的行号
        int lastRowNum = sheet.getLastRowNum();

        for(int i=1;i<=lastRowNum;i++){
//            获得每一行
            XSSFRow row = sheet.getRow(i);
//获得单元格对象
            String cellValue1 = row.getCell(1).getStringCellValue();
            String cellValue2 = row.getCell(2).getStringCellValue();
            System.out.println(cellValue1+""+cellValue2);

        }
        //关闭资源
        in.close();
        excel.close();
    }

    public static void main(String[] args) throws Exception {
//     write();
     read();
    }

3.展示

相关推荐
LUCIAZZZ11 分钟前
HikariCP数据库连接池原理解析
java·jvm·数据库·spring·springboot·线程池·连接池
考虑考虑20 分钟前
Springboot3.5.x结构化日志新属性
spring boot·后端·spring
涡能增压发动积22 分钟前
一起来学 Langgraph [第三节]
后端
sky_ph35 分钟前
JAVA-GC浅析(二)G1(Garbage First)回收器
java·后端
涡能增压发动积40 分钟前
一起来学 Langgraph [第二节]
后端
hello早上好1 小时前
Spring不同类型的ApplicationContext的创建方式
java·后端·架构
roman_日积跬步-终至千里1 小时前
【Go语言基础【20】】Go的包与工程
开发语言·后端·golang
00后程序员2 小时前
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
后端
HyggeBest2 小时前
Mysql的数据存储结构
后端·架构
TobyMint3 小时前
golang 实现雪花算法
后端