使用java代码操作Excel文件
需要用到的依赖
<!--poi--><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处理Excel表的数据的数据,对于工作很久的人来说,是Noproblem,但是对于我这种小白来说,基本上是没有接触到的
今天跟大家直接上代码:刚刚编写很差劲,哈哈
try { //创建工作簿 HSSFWorkbook hssfWorkbook = new HSSFWorkbook(new FileInputStream("F:\\资料\\工法.xlsx")); System.out.println("hssfWorkbook对象:" + hssfWorkbook); //读取第一个工作表 HSSFSheet sheet = hssfWorkbook.getSheetAt(0); System.out.println("sheet对象:" + sheet); //获取最后一行的num,即总行数。此处从0开始计数 int maxRow = sheet.getLastRowNum(); System.out.println("总行数为:" + maxRow); for (int row = 1; row <= maxRow; row++) { //获取最后单元格num,即总单元格数 ***注意:此处从1开始计数*** int maxRol = sheet.getRow(row).getLastCellNum(); if(maxRol!=0){ System.out.println("--------第" + row + "行的数据如下--------"); FzSub fzSub=new FzSub(); for (int rol = 0; rol < maxRol; rol++) { //从左到右进行,一次得到第一列的属性值 System.out.print( sheet.getRow(row).getCell(rol)+ " "); HSSFCell data = sheet.getRow(row).getCell(rol); //对列属性进行叠加,依次存入数据库,与此同时行的id也要跟随for外层for循环进行增加 if(rol==0) { fzSub.setIdLuqiao(String.valueOf(data)); } if(rol==1) { fzSub.setCode(String.valueOf(data)); } if(rol==2) { fzSub.setName(String.valueOf(data)); } System.out.println(fzSub); } fzSubService.save(fzSub); } } } catch (IOException e) { e.printStackTrace(); } }因为我要的是Excel表的部分数据,所以我直接进行判断,得到我想要的那一列数据,进行存储很笨的方法但是很实用,请允许我自夸一下自己, 哈哈。个人理解!
原文地址:https://www.cnblogs.com/zhao-hao/p/12153047.html
时间: 2024-10-06 06:57:39