2014-01-09 3 views
0

Java에서 Excel 시트의 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); 
+0

이것은 JEE와 관련이 적으며 Excel 및 POI-HSSF와 더 관련이 있습니다. 태그가 변경되었습니다. –

답변

1

?

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

또한 당신은 마지막 행을 얻을

sheet.getLastRowNum();를 사용할 수 있습니다.

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

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

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

위의 방법을 사용하면 행 번호를 건너 뛰는 데 도움이됩니다.

더 이상 필요한 도움이 필요하면 알려 주시기 바랍니다.