代码之家  ›  专栏  ›  技术社区  ›  marcosbeirigo

如何获取读取Excel文件的最后一列索引?

  •  10
  • marcosbeirigo  · 技术社区  · 14 年前

    在阅读时如何获取最后一列的索引 xlsx 使用apache poi api的文件?

    有一个 getLastRowNum 方法,但我找不到与列数相关的任何内容…


    编辑: 我正在处理 XLSX 文件夹

    4 回复  |  直到 6 年前
        1
  •  21
  •   marcosbeirigo    11 年前

    我想你得重复这些行并检查 HSSFRow.getLastCellNum() 在他们每个人身上。

        2
  •  7
  •   Paolo Forgia panoet    6 年前

    检查每一行并呼叫 Row.getLastCellNum() 最大单元格编号是最后一个列编号。

    Row r = sheet.getRow(rowNum);
    int maxCell=  r.getLastCellNum();
    
        3
  •  2
  •   Paolo Forgia panoet    6 年前

    要知道最后一列的值为任何行,首先需要获取该行,然后可以找到最后一列的值

    Syntax:

    sheet.getrow(RowNumber).getLastCellNum();
    

    RowNumber -->是要知道最后一列值的行号

        4
  •  1
  •   Darshan Lal    6 年前

    尝试此功能:

    private void maxExcelrowcol() {
        int row, col, maxrow, maxcol;
    
        //Put file name here for example filename.xls
        String filename = "filename.xls";
        static String TAG = "ExelLog";
    
        //you can use 'this' in place of context if you want
        Context context = getApplicationContext();
    
        try {
            // Creating Input Stream
            File file = new File(context.getExternalFilesDir(null), filename);
            FileInputStream myInput = new FileInputStream(file);
    
            // Create a POIFSFileSystem object
            POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
    
            // Create a workbook using the File System
            HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);
    
            // Get the first sheet from workbook
            HSSFSheet mySheet = myWorkBook.getSheetAt(0);
    
            //Row iterator 
            Iterator rowIter = mySheet.rowIterator();
    
            while (rowIter.hasNext()) {
                HSSFRow myRow = (HSSFRow) rowIter.next();
                //Cell iterator for iterating from cell to next cell of a row
                Iterator cellIter = myRow.cellIterator();
                while (cellIter.hasNext()) {
                    HSSFCell myCell = (HSSFCell) cellIter.next();
    
                    row = myCell.getRowIndex();
                    col = myCell.getColumnIndex();
    
                    if (maxrow < row) {
                        maxrow = row;
                    }
                    if (maxcol < col) {
                        maxcol = col;
                    }
                }
            }
        } catch(FileNotFoundException e) {
            e.printStackTrace();
        } catch(IOException e) {
            e.printStackTrace();
        }
    }
    
    推荐文章