1、导入依赖
<!-- hutool-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version> 5.8.16</version>
</dependency>
<!-- poi-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version> 4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version> 4.1.2</version>
</dependency>
2、代码
package org.example;
import cn.hutool.core.io.resource.ResourceUtil;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.IOException;
import java.io.InputStream;
/**
* apache poi 的简单例子
*/
public class Demo01 {
public static void main(String[] args) {
try {
//读取resource目录下文件
InputStream stream = ResourceUtil.getStream("demo01.xlsx");
//创建工作簿对象
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(stream);
//获取工作簿下sheet的个数
int sheetNum = xssfWorkbook.getNumberOfSheets();
// 遍历每一个表格
for (int i = 0; i < sheetNum; i++) {
// 获取第i个表格
XSSFSheet sheet = xssfWorkbook.getSheetAt(i);
// 获取当前表格的最大行数,从零开始计算
int maxRow = sheet.getLastRowNum();
// 遍历当前表格的每一行
for (int row = 0; row <= maxRow; row++) {
//该行的最大列数
int maxCellNum = sheet.getRow(row).getLastCellNum();
//遍历每一列,从1开始计算
for (int cellNum = 0; cellNum < maxCellNum; cellNum++) {
// 获取当前行第一个单元格的字符串数值, row 行,cell 列
String str = sheet.getRow(row).getCell(cellNum).getStringCellValue();//这里需要注意,如果该单元格是字符串,则用getStringCellValue,如果是数字用getNumericCellValue,其他类型类似
System.out.print(str+"|");
}
System.out.println("\n"+"--------------------------------");
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
项目地址:https://gitee.com/lucky-deer/demo-poi.git
可以拉下该项目直接运行测试。具体在demo01中