poi/jxl操作excel获取真实行数的问题

在使用jxl框架操作excel的时候,因为需要校验excel的内容,但是根据行数遍历excel的数据的时候,发现获取的行数并不是真正的数据行数,后来根据相关资料发现,在使用getRows()方法获取行数的时候,会获取到带格式的行数以及输入过数据但又清空的行数,所以需要遍历每一行的每一列的单元格内容是否为空。

/**
     * 循环判断--获取excel的真实行数
     */
    private static int realRows(Sheet sheet) {
        int rows = sheet.getRows();
        int columns=sheet.getColumns();
        List<Integer> realRows=new ArrayList<Integer>();
        for (int i = 0; i < rows; i++) {
            boolean isBlankRow=false;
            for (int j = 0; j < columns; j++) {
                if (!StringUtils.isEmpty(sheet.getCell(j, i).getContents())) {
                    isBlankRow=false;
                    break;
                } else {
                    isBlankRow=true;
                }
            }
            if (!isBlankRow) {
				//如果行的每一列不为空,把循环到的行添加到集合
                realRows.add(i);
            }
        }
		//集合的size就是真实数据的行数,去掉表头,就是需要的真实行数
        int row = realRows.size()-1;
        return row;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值