java poi读取 excel(xls/xlsx)包含引用jar包下载

jar包下载(c4by)

代码:

 1 package com.util;
 2 import java.io.FileInputStream;
 3 import java.io.FileOutputStream;
 4 import java.io.InputStream;
 5 import java.io.OutputStream;
 6 
 7 import org.apache.poi.xssf.usermodel.XSSFCell;
 8 import org.apache.poi.xssf.usermodel.XSSFRow;
 9 import org.apache.poi.xssf.usermodel.XSSFSheet;
10 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
11 /**
12  * @auther 周博
13  * @date 2021/5/8 19:07
14  * @Blogurl https://www.cnblogs.com/smartisn/
15  */
16 public class Read_EXCEL {
17     private XSSFSheet sheet;
18 
19     /**
20      * 构造函数,初始化excel数据
21      * @param filePath  excel路径
22      * @param sheetName sheet表名
23      */
24     Read_EXCEL(String filePath,String sheetName){
25         FileInputStream fileInputStream = null;
26         try {
27             fileInputStream = new FileInputStream(filePath);
28             XSSFWorkbook sheets = new XSSFWorkbook(fileInputStream);
29             //获取sheet
30             sheet = sheets.getSheet(sheetName);
31         } catch (Exception e) {
32             e.printStackTrace();
33         }
34     }
35 
36     /**
37      * 根据行和列的索引获取单元格的数据
38      * @param row
39      * @param column
40      * @return
41      */
42     public String getExcelDateByIndex(int row,int column){
43         XSSFRow row1 = sheet.getRow(row);
44         String cell = row1.getCell(column).toString();
45         return cell;
46     }
47 
48     /**
49      * 根据某一列值为“******”的这一行,来获取该行第x列的值
50      * @param caseName
51      * @param currentColumn 当前单元格列的索引
52      * @param targetColumn 目标单元格列的索引
53      * @return
54      */
55     public String getCellByCaseName(String caseName,int currentColumn,int targetColumn){
56         String operateSteps="";
57         //获取行数
58         int rows = sheet.getPhysicalNumberOfRows();
59         for(int i=0;i<rows;i++){
60             XSSFRow row = sheet.getRow(i);
61             String cell = row.getCell(currentColumn).toString();
62             if(cell.equals(caseName)){
63                 operateSteps = row.getCell(targetColumn).toString();
64                 break;
65             }
66         }
67         return operateSteps;
68     }
69 
70     //打印excel数据
71     public void readRead_EXCEL(){
72         //获取行数
73         int rows = sheet.getPhysicalNumberOfRows();
74         for(int i=0;i<rows;i++){
75             //获取列数
76             XSSFRow row = sheet.getRow(i);
77             int columns = row.getPhysicalNumberOfCells();
78             for(int j=0;j<columns;j++){
79                 String cell = row.getCell(j).toString();
80                 System.out.println(cell);
81             }
82         }
83     }
84 
85     //测试方法
86     public static void main(String[] args){
87         Read_EXCEL sheet1 = new Read_EXCEL("E:\A兴趣代码\JAR\读取EXCEL\党徽.xls", "Sheet1");
88         //获取第二行第4列
89         String cell2 = sheet1.getExcelDateByIndex(1, 1);
90         //根据第3列值为“customer23”的这一行,来获取该行第2列的值
91         String cell3 = sheet1.getCellByCaseName("名字", 0,0);
92         System.out.println(cell2);
93         System.out.println(cell3);
94     }
95 
96 }

结果:

原文地址:https://www.cnblogs.com/smartisn/p/14746393.html