2017-10-08 5 views
0

これは私もブランクで、すべてのセルの値を読みたい私の出力は、私がIterator<Cell>cell=row.cellIterator を使用して、このExcelシートを読んでいます ブランクブランク3 4 5空白空白1番目と最後のセルの値がNULLまたは空白の場合、Excelシートの各行の各セルの値を読み取る方法は?

でなければなりません

----------------------------------------------------------------------- 
col1 | Col2 | col3 | col4 | col5| col6| col7| and so on 
----------------------------------------------------------------------- 
1 | 2 | 3 | 4 | 5 | 6| 7|  and so on 
------------------------------------------------------------------------ 
    |  | 3 | 4 | 5 | |  |  and so on 
------------------------------------------------------------------------ 

ExcelシートでありますCellIteratorを使用すると、2行目から3 4 5を読み込むことができます。

第2行の読み込み方法も?私はまた、最初のセルと最後のセルが空白でない場合、CellIteratorも空白の値も正常に読み取られていることを見てきました。

javaの特定の行の各セル値を、その行の最初と最後のセルが空白の場合に読み取る方法はありますか?

答えて

0

あなたは、Apache POI for Excel操作を使用していると仮定します。

CellIteratorは、ファイルに定義されているセルのみを返します。これは主に値または書式を持つセルを意味します。

が行方不明/空白のセルいくつかのケースでは

の制御で、細胞上http://poi.apache.org/spreadsheet/quick-guide.html#Iterate+over+cells%2C+with+control+of+missing+%2F+blank+cells

反復を参照してください、繰り返し処理を行う場合、あなたは、不足しているか、空白行とセルがどのように扱われるかを完全に制御する必要がありますファイルに定義されているセルだけでなく、すべてのセルを確実に訪問する必要があります。 (CellIteratorは、ファイルに定義されたセルのみを返します。これは主に値またはスタイルのあるセルですが、Excelに依存します)。

これらの場合、行の最初と最後の列情報を取得してから、getCell(int、MissingCellPolicy)を呼び出してセルを取得する必要があります。 MissingCellPolicyを使用して、空白セルまたはnullセルの処理方法を制御します。

// Decide which rows to process 
int rowStart = Math.min(15, sheet.getFirstRowNum()); 
int rowEnd = Math.max(1400, sheet.getLastRowNum()); 

for (int rowNum = rowStart; rowNum < rowEnd; rowNum++) { 
    Row r = sheet.getRow(rowNum); 
    if (r == null) { 
     // This whole row is empty 
     // Handle it as needed 
     continue; 
    } 

    int lastColumn = Math.max(r.getLastCellNum(), MY_MINIMUM_COLUMN_COUNT); 

    for (int cn = 0; cn < lastColumn; cn++) { 
     Cell c = r.getCell(cn, Row.RETURN_BLANK_AS_NULL); 
     if (c == null) { 
     // The spreadsheet is empty in this cell 
     } else { 
     // Do something useful with the cell's contents 
     } 
    } 
} 
関連する問題