1.引入maven依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.1</version>
</dependency>
2.读取demo代码如下
1.excel文件

2.LocalStorage.java
@Getter
@Setter
@NoArgsConstructor
public class LocalStorage {
/** 真实文件名 */
private String realName;
/**文件名 */
private String name;
/**后缀 */
private String suffix;
/** 路径 */
private String path;
/** 类型 */
private String type;
}
3.读取excel代码示例
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class MoveFile {
public static void readExcel(List<LocalStorage> localStorages)throws Exception{
//用流的方式先读取到你想要的excel的文件 这里直接读取本地路径文件
FileInputStream fis=new FileInputStream("D:/file/demo.xls");
//解析excel
POIFSFileSystem poifsFileSystem=new POIFSFileSystem(fis);
//获取整个excel
HSSFWorkbook hb=new HSSFWorkbook(poifsFileSystem);
//获取第一个表单sheet
HSSFSheet sheet = hb.getSheetAt(0);
//获取第一行
int firstrow = sheet.getFirstRowNum();
//获取最后一行
int lastrow = sheet.getLastRowNum();
//循环行数依次获取列数
for (int i = firstrow; i < lastrow+1; i++) {
//获取哪一行i
Row row=sheet.getRow(i);
if (row!=null) {
//获取这一行的第一列
int firstCellNum = row.getFirstCellNum();
//获取这一行的最后一列
int lastCellNum = row.getLastCellNum();
//创建一个集合,用处将每一行的每一列数据都存入集合中
List<String> list=new ArrayList<>();
for (int j = firstCellNum; j <lastCellNum; j++) {
//获取第j列
Cell cell=row.getCell(j);
if (cell!=null) {
list.add(cell.toString());
}
}
LocalStorage localStorage=new LocalStorage();
//如果列数较多可以使用循环进行取值
if (list.size()>0) {
localStorage.setRealName(list.get(0));
localStorage.setSuffix(list.get(1));
localStorage.setType(list.get(2));
localStorages.add(localStorage);
}
}
}
fis.close();
}
}