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.展示

相关推荐
小马爱打代码2 小时前
Spring AI:搭建自定义 MCP Server:获取 QQ 信息
java·人工智能·spring
韩立学长2 小时前
基于Springboot流浪动物领养网站0kh2iyb4(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
Moment3 小时前
从美团全栈化看 AI 冲击:前端转全栈,是自救还是必然 🤔🤔🤔
前端·后端·面试
a努力。4 小时前
腾讯Java面试被问:String、StringBuffer、StringBuilder区别
java·开发语言·后端·面试·职场和发展·架构
源码获取_wx:Fegn08954 小时前
基于springboot + vue心理健康管理系统
vue.js·spring boot·后端
优弧4 小时前
离开舒适区100天,我后悔了吗?
前端·后端·面试
Vic101015 小时前
解决 Spring Security 在异步线程中用户信息丢失的问题
java·前端·spring
QD_IT伟6 小时前
SpringBoot项目整合Tlog 数据链路的规范加强
java·spring boot·后端
源码获取_wx:Fegn08956 小时前
基于springboot + vue二手交易管理系统
java·vue.js·spring boot·后端·spring·课程设计
Zsh-cs6 小时前
Spring
java·数据库·spring