我正在使用Apache POI
来解析excel
文件并通过row.getCell(5).getNumericCellValue()
取回值,假设该行上的cell(5)
始终为数字。
是否可以智能地分析文件,以便即使列的顺序更改或混乱,我们也可以基于columnName
查找值,以便合同年份始终来自标有Contract Year
的列-不管该列是否为第六栏还是第七栏?
最佳答案
您可以实现一个名为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)。