我正在使用Apache POI
来解析excel
文件,并假设该行上的row.getCell(5).getNumericCellValue()
始终为数字,以便cell(5)
重新获取值。
是否可以智能地解析文件,以便即使我们可以根据columnName
查找值,也可以查找列的顺序,以便合同年始终来自标记为Contract Year
的列 - 无论该列是第6列还是第7列?
答案 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)。