使用Java获取给定excel中特定行的列数


问题内容

我想要Excel中特定行的列数。那怎么可能?我使用了POI API

但是我只能得到7的列数。

    try
            {
                fileInputStream = new FileInputStream(file);
                workbook = new HSSFWorkbook(fileInputStream);
                Sheet sheet = workbook.getSheet("0");


                int numberOfCells = 0;
                Iterator rowIterator = sheet.rowIterator();
                /**
                 * Escape the header row *
                 */
                if (rowIterator.hasNext())
                {
                    Row headerRow = (Row) rowIterator.next();
                    //get the number of cells in the header row
                    numberOfCells = headerRow.getPhysicalNumberOfCells();
                }
                System.out.println("number of cells "+numberOfCells);

}

我希望特定行号的列数为10。excel列不一样


问题答案:

您可以做两件事

int noOfColumns = sh.getRow(0).getPhysicalNumberOfCells();

要么

int noOfColumns = sh.getRow(0).getLastCellNum();

他们之间有很好的区别

  1. 选项1给出实际填充内容的列数(如果10列的第二列未填充,您将得到9)
  2. 选项2仅给您最后一列的索引。因此完成了“ getLastCellNum()”