2016-06-04 3 views
0

У меня есть программа java, которая извлекает данные (два столбца) из базы данных sql. И у меня есть файл excel, который имеет три столбца. Сравнивается второй столбец файла excel и первый столбец результирующего набора. Если они совпадают, я хочу записать значение второго столбца набора данных в 4-й столбец файла excel. У меня есть этот код до сих пор. Проблема в том, что это проверяет только первую ячейку и не перемещается в следующие ячейки. Пожалуйста, помогитеСравните столбец результатов с столбцом excel, и если значения совпадают, напишите данные в соседний столбец

int row = 0; 
    while(row < 50) { 
     cell = sheet.getRow(row).getCell(1); 
     String cellValue = cell.getStringCellValue(); 
     while (results.next()) { 
      String name = results.getString("StationName"); 
      if(cellValue.equals(name)) { 
       System.out.println(results.getString("StationName")); 
       System.out.println("Strings matched and values written !!!! "); 
       newCell = sheet.getRow(row).getCell(3); 
       int Bal = results.getInt(2); 
       newCell.setCellValue(Bal); 
      } else { 
       System.out.println(results.getString("StationName")); 
       System.out.println("Strings not matched!!! "); 
      } 
     } 
     row = row + 1; 
    } 

ответ

0

Сайт не позволит мне прокомментировать. Это не ответ, а подсказка. ResultSets итерация строк мудрый, вы должны будете использовать в то время как петли, так что каждое значение в строке будет пройдено примерно так:

while(results.next()) 
    { 
    String name=results.getString(<Name>) 
    if(cellValue.equals(name)) { 
     System.out.println(results.getString("StationName")); 
     System.out.println("Strings matched and values written !!!! "); 
     newCell = sheet.getRow(row).getCell(3); 
     int Bal = results.getInt(2); 
     newCell.setCellValue(Bal); 
     } 
    } 
+0

Мой код перебирает колонке Resultset в «stationName» (около 100 строк) и проверки если ячейка B1 соответствует столбцу resultet. Проблема в том, что когда это делается, проверяя B1, он не будет перемещаться и проверяет ячейку B2. – user3672023

+0

Предложение: что делать, если вы создаете блоки циклов для получения данных из каждого столбца, например, получите данные столбца 1 в первом случае, когда цикл получает второй столбец во втором цикле и т. Д. И если вы хотите выполнять операции с данными, создайте другую функцию , – Newbee

Смежные вопросы