Java 基于Apache POI实现Excel读写操作
实践环境Win10
Java JDK1.8
代码实现
pom.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.shouke</groupId>
<artifactId>example</artifactId>
<version>1.0</version>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<poi.ooxml.version>4.1.2</poi.ooxml.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.ooxml.version}</version>
</dependency>
<dependencies>
</project>读取Excel
代码实现
exmple.xml
https://img2023.cnblogs.com/blog/1569452/202307/1569452-20230731003149779-1976684574.png
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
页:
[1]