使用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表的部分数据,所以我直接进行判断,得到我想要的那一列数据,进行存储

很笨的方法但是很实用,请允许我自夸一下自己,   哈哈。

个人理解!