Как прочитать файл excel из определенной строки?

Я хочу прочитать из определенной строки, скажем, после n-й строки листа excel в Java. Я не хочу проверять, имеют ли ячейки значение или нет. Я просто хочу пропустить некоторые из начальных строк, например n, и начать чтение с n+1-й строки.

Как бы я достиг этой цели?

    FileInputStream fileInputStream = new FileInputStream(fileName);
    POIFSFileSystem fsFileSystem = new POIFSFileSystem(fileInputStream);
        HSSFWorkbook workBook = new HSSFWorkbook(fsFileSystem);
        HSSFSheet hssfSheet = workBook.getSheetAt(0);
        Iterator<Row> rowIterator = hssfSheet.rowIterator();
        boolean headerRow = true;
        while (rowIterator.hasNext()) {
            if (headerRow == false) {
                HSSFRow hssfRow = (HSSFRow) rowIterator.next()
                Iterator<Cell> iterator = hssfRow.cellIterator();
                List cellTempList = new ArrayList();
                while (iterator.hasNext()) {
                HSSFCell hssfCell = (HSSFCell) iterator.next();
        if(hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC)
        {DecimalFormat df = new DecimalFormat("#");
            String cellValue=df.format(hssfCell.getNumericCellValue());
            cellTempList.add(cellValue.toString());
        }
     else if(hssfCell.getCellType() == hssfCell.CELL_TYPE_STRING)
     { cellTempList.add(hssfCell.toString());
     }
    }
cellDataList.add(cellTempList);

person akash    schedule 09.01.2014    source источник
comment
Это не столько связано с JEE, сколько с Excel и POI-HSSF. Теги изменены.   -  person Andrew Thompson    schedule 09.01.2014


Ответы (2)


что-то вроде этого?

for (int rn=startRowNo; rn<=endRowNo; rn++) 
     {
      HSSFRow row = hssfSheet.getRow(rn);
      //do your processing here
     }

также вы можете использовать

sheet.getLastRowNum(); чтобы получить последнюю строку.

person gaurav5430    schedule 09.01.2014

public void skipNthRowMethod( int skipRowNumbers ) {
    int rowNum = 0;

    if ( skipRowNumbers > 0 ) {
        while ( rowIterator.hasNext() ) {
            if( rowNum <= skipRowNumbers ) {
                rowNum++;
                continue;
            }

            rowNum++; // anything for future usage
        }
    }
}

Используйте описанный выше способ, чтобы пропустить номера строк.

проверьте и дайте мне знать, если вам нужна дополнительная помощь.

person Amudha Dhanapal    schedule 09.01.2014