2016-09-01 3 views
0

xlsxファイルを読むにはApache POIを使用していますが、うまくいきます。行がヌルになったときに私はあなたに質問します、どうすればそれを処理できますか?私のファイルは50行しか含んでいませんが、それは1000行を表示し、残りの行はnullを検出しました。xlsxでJavaを使用して行がヌルかどうかを確認する方法

try { 
    FileInputStream file = new FileInputStream(new File("D://productData.xlsx")); 
    Workbook workbook = WorkbookFactory.create(file); 
    Sheet sheet = workbook.getSheetAt(0); 
    Iterator<Row> rowIterator = sheet.iterator(); 
    CountryCode countryCode = userDao.getCode(sheet.getRow(1).getCell(4).toString()); 
    while (rowIterator.hasNext()) { 
     Row row = rowIterator.next(); 
     if (row.getRowNum() == 0) { 
      continue; 
     } else if (row.getRowNum() == 1) { 
      //some operation 
     } else if (row.getRowNum() == 2) { 
      continue; 
     } else { 
      ExcelData excelData = new ExcelData(); 
      try { 
       for (int i = 0; i <= 6; i++) { 
        row.getCell(i).setCellType(Cell.CELL_TYPE_STRING); 
       } 
       //some operation 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    } 
    file.close(); 
    response.setResponse(data); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

どのようにExcelからヌル行を読み取ることができ、行がExcelシートにヌルである場合どの イテレータから終了することができます。 ありがとう

答えて

2

ローをフェッチしてヌルに戻すと、そのローのファイルにデータが格納されていないことを意味します。

POIはデフォルトでファイルの内容を示します。セルでは、MissingCellPolicyを設定して、欠落および空白セルの処理方法を制御できます。これをApache POIのドキュメントで使用する例がいくつかあります。行は、そこにあるかどうかに関係なく、行をフェッチするときにはnullをチェックする必要があります。

関連する問題