У меня возникли проблемы с получением номера строки определенной строки. Скажем, у меня есть содержимое ячейки = «HC» в строке 9 и с использованием метода findRow (лист «HC»). Я должен получить возвращаемое значение 9, но прямо сейчас возвращается 0.Java - Нужна помощь в получении строки # определенного значения
Назначение функции excelSheetFinder после того, как номер строки возвращается из findRow(), я могу получить ячейки из определенного столбца, чтобы я ввод в качестве параметров (enCol и frCol).
Любая помощь приветствуется!
public static String[] excelSheetFinder(String value, int enCol, int frCol) throws IOException{
String[] shortNames = new String[2];
File excelFile = new File("excel.xlsx");
FileInputStream inputExcelFile = new FileInputStream(excelFile);
XSSFWorkbook wb = new XSSFWorkbook(inputExcelFile);
XSSFSheet sheet = wb.getSheetAt(0);
int shortNameRow = findRow(sheet, value);
System.out.println(shortNameRow);
Row r = sheet.getRow(shortNameRow);
String enCell = r.getCell(enCol).toString();
String frCell = r.getCell(frCol).toString();
shortNames[0] = enCell;
shortNames[1] = frCell;
return shortNames;
}
private static int findRow(XSSFSheet sheet, String value){
//to find row number so we can search through that specific column
int gotRow = 0;
for (Row row: sheet){
for (Cell cell: row){
final DataFormatter df = new DataFormatter();
final XSSFCell cellVal = (XSSFCell) row.getCell(row.getRowNum());
String valueAsString = df.formatCellValue(cellVal);
if (valueAsString.trim() == value){
gotRow = row.getRowNum();
}
}
}
return gotRow;
}
Возможный дубликат [Как сравнить строки в Java?] (Http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) –