首页 > 编程知识 正文

java读取excel文件数据条数,java读取excel文件内容保存数据库

时间:2023-05-05 04:34:23 阅读:202838 作者:2002

简介:总结Java读取Excel文件

添加maven依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.15</version></dependency>

本例的excel,FirstTests.xlsx如下图:

代码如下:
ExcelData.java

package test.java.utils;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;/** * Author: 灵枢 * Date: 2018/12/05 * Time: 17:21 * Description:读取Excel数据 */public class ExcelData {private XSSFSheet sheet;/** * 构造函数,初始化excel数据 * @param filePath excel路径 * @param sheetName sheet表名 */ExcelData(String filePath,String sheetName){FileInputStream fileInputStream = null;try {fileInputStream = new FileInputStream(filePath);XSSFWorkbook sheets = new XSSFWorkbook(fileInputStream);//获取sheetsheet = sheets.getSheet(sheetName);} catch (Exception e) {e.printStackTrace();}}/** * 根据行和列的索引获取单元格的数据 * @param row * @param column * @return */public String getExcelDateByIndex(int row,int column){XSSFRow row1 = sheet.getRow(row);String cell = row1.getCell(column).toString();return cell;}/** * 根据某一列值为“******”的这一行,来获取该行第x列的值 * @param caseName * @param currentColumn 当前单元格列的索引 * @param targetColumn 目标单元格列的索引 * @return */public String getCellByCaseName(String caseName,int currentColumn,int targetColumn){String operateSteps="";//获取行数int rows = sheet.getPhysicalNumberOfRows();for(int i=0;i<rows;i++){XSSFRow row = sheet.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 = sheet.getPhysicalNumberOfRows();for(int i=0;i<rows;i++){//获取列数XSSFRow row = sheet.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){ExcelData sheet1 = new ExcelData("resource/FirstTests.xlsx", "username");//获取第二行第4列String cell2 = sheet1.getExcelDateByIndex(1, 3);//根据第3列值为“customer23”的这一行,来获取该行第2列的值String cell3 = sheet1.getCellByCaseName("customer23", 2,1);System.out.println(cell2);System.out.println(cell3);}} 输出结果如下图:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。