一)导入相关的MAVEN依赖。
<!--excel的依赖-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
</dependency>
二)Java代码
使用说明:
1、XSSFWorkbook是整个操作excel文件需要用到的对象。构造时,参数是一个FileInputStream对象,里面写上文件的地址。
2、getNumberOfSheets()获取拥有的sheet总页数。
3、getSheetAt(number)操作第几个工作簿,参数是第几个sheet表。
此处的参数索引是从0开始。返回值是一个工作簿对象XSSFSheet,用于操作这个工作簿。
4、工作簿对象.getLastRowNum()。获取该工作簿一共有多少列。
5、getRow(row_num).getLastCellNum().获取改行共有多少列。此处行和列的下标都是从1开始的。
6、getRow(row).getCell(rol)。获取改行该列的元素。
public static void excelFind() {
try {
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream("src/test/java/postSQL/database/test.xlsx"));
//获取工作簿下sheet的个数
int sheetNum = xssfWorkbook.getNumberOfSheets();
System.out.println("总数页码:"+sheetNum);
//遍历页码:
for(int i = 0;i<sheetNum;i++) {
System.out.println("读取第"+(i+1)+"个sheet");
//sheet的索引下标是从0开始的,得到该页码的对象
XSSFSheet sheet = xssfWorkbook.getSheetAt(i);
//获取总共的行数
int maxRow = sheet.getLastRowNum();
//对每一行进行遍历
for (int row = 0; row <= maxRow; row++) {
//getRow(row_num)获取改行的对象,再.getLastCellNum()获取该行共有几列
//此处与sheet不同的是,该索引下标是从1开始的
int maxRol = sheet.getRow(row).getLastCellNum();
System.out.println("--------第" + row + "行的数据如下--------");
//遍历列数
for (int rol = 0; rol < maxRol; rol++){
//sheets.getRow(1).getCell(1);获取元素值
System.out.print(sheet.getRow(row).getCell(rol) + " ");
}
System.out.println();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}