El problema de poi/jxl operando excel para obtener el número real de filas

Al usar el framework jxl para operar excel, porque es necesario verificar el contenido de excel, pero al recorrer los datos de excel según el número de filas, se encuentra que el número de filas obtenido no es el número real de datos filas Más tarde, de acuerdo con la información relevante, se encuentra que cuando se usa getRows Cuando el método () obtiene el número de filas, obtendrá el número de filas con formato y el número de filas que se ingresaron pero borraron , por lo que es necesario recorrer cada fila y columna para ver si el contenido de la celda está vacío.

/**
     * 循环判断--获取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;
    }

 

Supongo que te gusta

Origin blog.csdn.net/qq_45001053/article/details/126072622
Recomendado
Clasificación