java 用POI读excel
1、导入依赖
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.15</version> </dependency>
2、上代码
package com.lens; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileInputStream; public class ExcelData { private XSSFSheet xssfSheet; //构造函数,初始化excel数据 ExcelData(String filePath,String sheetName){ FileInputStream fileInputStream = null; try { fileInputStream = new FileInputStream(filePath); XSSFWorkbook sheets = new XSSFWorkbook(fileInputStream); //获取sheet xssfSheet = sheets.getSheet(sheetName); } catch (Exception e) { e.printStackTrace(); } } //根据行和列的索引获取单元格的数据 public String getExcelDateByIndex(int row,int column){ XSSFRow row1 = xssfSheet.getRow(row); String cell = row1.getCell(column).toString(); return cell; } //根据某一列值为的这一行,来获取该行第x列的值 public String getCellByCaseName(String caseName,int currentColumn,int targetColumn){ String operateSteps=""; //获取行数 int rows = xssfSheet.getPhysicalNumberOfRows(); for(int i=0;i<rows;i++){ XSSFRow row = xssfSheet.getRow(i); String cell = row.getCell(currentColumn).toString(); if(cell.equals(caseName)){ operateSteps = row.getCell(targetColumn).toString(); break; } } return operateSteps; } //打印excel数据 public void readExcelData(){ //获取行数 int rows = xssfSheet.getPhysicalNumberOfRows(); for(int i=0;i<rows;i++){ //获取列数 XSSFRow row = xssfSheet.getRow(i); int columns = row.getPhysicalNumberOfCells(); for(int j=0;j<columns;j++){ String cell = row.getCell(j).toString(); System.out.println(cell); } } } //测试方法 public static void main(String[] args){ //filePath:路径 //sheetName:sheet ExcelData sheet1 = new ExcelData("D:\\apache-tomcat-9.0.20-8847\\webapps\\dmap-web\\export\\9ba981125d314d8c91c519d670a32d26", "建设用地报报批"); sheet1.readExcelData(); } }
转载:https://blog.csdn.net/galen2016/article/details/84840793