• 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 }

    结果:

  • 相关阅读:
    git 本地仓库操作
    git学习一——Pro-Git
    React Router
    webpack详述
    webpack入门
    折半查找法
    String的常见操作(面试题)
    Java集合(五)—HashMap源码
    Java常见操作符
    Java随机数
  • 原文地址:https://www.cnblogs.com/smartisn/p/14746393.html
Copyright © 2020-2023  润新知