将结果集列与excel列进行比较,如果值匹配,则将数据写入相邻列

时间:2016-06-04 05:41:33

标签: java excel

我有java程序从sql数据库中获取数据(两列)。我有一个有三列的excel文件。将比较excel文件的第二列和结果集的第一列。如果它们匹配,我想将数据集的第二列的值写入excel文件的第4列。到目前为止我有这个代码。问题是,这只检查第一个单元格而不是移动到下一个单元格。请帮忙

   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;
   }

1 个答案:

答案 0 :(得分:0)

该网站不会让我发表评论所以这不是答案,而是一个提示。 ResultSets按行迭代,您将必须使用while循环,以便遍历行中的每个值 有点像这样:

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);
       }
  }