我Apache POI
用来解析excel
文件并通过row.getCell(5).getNumericCellValue()
假设cell(5)
该行始终是数字来获取值。
是否可以智能地解析文件,以便即使列的顺序发生变化或混乱,我们也可以根据columnName
合同年份查找值,以便始终来自标记的列Contract Year
- 无论该列是第 6 列还是第 7 列?
我Apache POI
用来解析excel
文件并通过row.getCell(5).getNumericCellValue()
假设cell(5)
该行始终是数字来获取值。
是否可以智能地解析文件,以便即使列的顺序发生变化或混乱,我们也可以根据columnName
合同年份查找值,以便始终来自标记的列Contract Year
- 无论该列是第 6 列还是第 7 列?
您可以实现一个称为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)。