2012-04-19 3 views
0

Apache POIを使用して、excelファイルを解析し、その行のcell(5)が常に数値であると仮定して、row.getCell(5).getNumericCellValue()によって値を取得し直します。Apache Poiの問題はJavaでParsingが優れていますか?

ファイルをインテリジェントに解析することで、たとえ列の順序が変更または混乱しても、columnNameに基づいて値を検索できるので、契約年は常にContract Yearと表示されます第6列または第7列?

答えて

1

必要なインデックスを返すgetContractYearColumnIndex()という関数を実装できます。

private int getContractYearColumnIndex(){ 
    final int maxColIndex = 25; 
    int colIndex = 0; 
    HSSFRow titleRow = yourSheet.getRow(0); 
    String value = titleRow.getCell(colIndex).getStringCellValue(); 

    while(value != "Contract Year" && colIndex < maxColIndex){ 
     colIndex = colIndex + 1; 
     value = titleRow.getCell(colIndex).getStringCellValue(); 
    } 
    return colIndex; 
} 

もちろん、この実装では、探しているタイトルが最初の行(インデックス0)にあると想定しています。ここ

+0

OKしかし事は、ファイルが設定可能であり、その行が存在し得るか、また、これは、システムの右側の処理負荷の多くを追加し、彼らが何のファイル – Rachel

+0

存在していないことができなかった可能性があるということです。 – Rachel

+0

はい、パフォーマンスが低下します。 Excelは、構造化されたデータを格納するのに適した形式ではありませんが、私はあなたが役に立っている可能性があることを理解しています。 –

関連する問題