Apache Poi的问题,同时在Java中解析excel?

时间:2012-04-19 17:48:09

标签: java excel apache-poi

我正在使用Apache POI来解析excel文件,并假设该行上的row.getCell(5).getNumericCellValue()始终为数字,以便cell(5)重新获取值。

是否可以智能地解析文件,以便即使我们可以根据columnName查找值,也可以查找列的顺序,以便合同年始终来自标记为Contract Year的列 - 无论该列是第6列还是第7列?

1 个答案:

答案 0 :(得分: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)。