Java 基于Apache POI实现Excel读写操作

鼠扑  金牌会员 | 2023-7-31 01:05:04 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 918|帖子 918|积分 2754

实践环境

Win10
Java JDK1.8
代码实现

pom.xml配置
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.     <modelVersion>4.0.0</modelVersion>
  6.     <groupId>com.shouke</groupId>
  7.     <artifactId>example</artifactId>
  8.     <version>1.0</version>
  9.     <properties>
  10.         <java.version>1.8</java.version>
  11.         <maven.compiler.source>${java.version}</maven.compiler.source>
  12.         <maven.compiler.target>${java.version}</maven.compiler.target>
  13.         <poi.ooxml.version>4.1.2</poi.ooxml.version>
  14.     </properties>
  15.     <dependencies>
  16.         <dependency>
  17.             <groupId>org.apache.poi</groupId>
  18.             <artifactId>poi-ooxml</artifactId>
  19.             <version>${poi.ooxml.version}</version>
  20.         </dependency>
  21.     <dependencies>        
  22. </project>
复制代码
读取Excel

代码实现

exmple.xml

[code]import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileInputStream;import java.util.Iterator;public class JavaStudy {    public static void readExcel(String filePath) throws Exception {        //获取文件流        FileInputStream inputStream = new FileInputStream(filePath);        //1.创建工作簿        Workbook workbook = new XSSFWorkbook(inputStream);        //2.得到Sheet表//        Sheet sheet = workbook.getSheet("Sheet1"); // 通过Sheet名称获取        Sheet sheet = workbook.getSheetAt(0); // 通过索引获取 //获取第1个Sheet表        //3.获取行        Row row = sheet.getRow(0); // 获取第1行 // 注意:行索引从0开始        System.out.println(sheet.getFirstRowNum()); // 获取首行(内容行)索引  // 输出:0        System.out.println(sheet.getLastRowNum()); // 获取最后行(内容行)索引 // 输出:5        //4.获取单元格        Cell cell = row.getCell(0); // 获取行的第0个元        //5.获取单元格的值        System.out.println(getValue(cell)); // 输出:姓名        System.out.println(row.getFirstCellNum()); // 获取当前行第一个内容单元格索引 // 输出:0        System.out.println(row.getLastCellNum()); // 获取当前行最后内容单元格往后下一个单元格的索引 // 输出:7 // 输出值为:最后内容单元格索引+1        // 遍历当前行内容化单元格        // 方法1:        Iterator cellIterator = row.cellIterator();        while (cellIterator.hasNext()) {            cell = cellIterator.next();            System.out.println(cell);        }        // 方法2:        row.forEach(currCell -> {            System.out.print(currCell+", ");            System.out.println(currCell.getCellType());        });        // 遍历获取所有内容行单元格的值        for (int rowIndex=0; rowIndex

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表