ResultSet não grava resultado no arquivo Excel

ResultSet trás resultado correto mas ao gravar no Excel as células não são preechidas.

        Row row;
        Cell cell = null;      
        row = sheet2.createRow(0);
        row.createCell(0).setCellValue("Mês");
        row.createCell(1).setCellValue("Total");
        row.createCell(3).setCellValue("Mês");
        row.createCell(4).setCellValue("Kaizens");
       
        while (rsTot.next()) {
            row = sheet2.createRow(rsTot.getRow());
            cell = row.createCell(0);
            cell.setCellValue(rsTot.getString("mes"));
            cell = row.createCell(1);
            cell.setCellValue(rsTot.getString("qtd"));
        }

        while (rsKai.next()) {
            row = sheet2.createRow(rsKai.getRow());
            cell = row.createCell(3);
            cell.setCellValue(rsKai.getString("mes"));
            cell = row.createCell(4);
            cell.setCellValue(rsKai.getString("qtd"));
        }

O primeiro ResultSet é ignorado.O que pode ser?

image

Falando de modo grosseiro, você está fazendo uma aberração.
O ResultSet não deve, nunca, sair do método onde você lê os dados do banco.
Prefira, antes, criar uma classe que represente os dados que quer passar do teu DAO (creio que esteja usando esta abordagem) e, então, devolva um objeto desta classe (ou uma lista contendo objetos dessa classe).

Mais ou menos assim

//Model ou POJO
public class Foo {
    private Long id;
    private String nome;
    //Demais atributos, métodos, getters e setters, etc
}

E, no DAO

//DAO
public class QualquerDAO{
    public List<Foo> listarFoo() throws Exception {
        List<Foo> lista = new ArrayList<>();
        //Faz muita coisa antes
        ResultSet rs = pstm.getResultSet();
        while(rs.next()) {
            Foo f = new Foo();
            f.setId(rs.getLong("id"));
            f.setNome(rs.getString("nome"));
            //Lê o que mais precisa
           lista.add(f);
        }
        return lista;
   }
}

E, na tua classe onde vai usar os dados

//E no teu controller ou service ou na classe que precisa
QualquerDAO qlqDAO = new QualquerDAO();
List<Foo> foos = qlqDAO.listarFoo();

Entendeu?
Com isso, você tem mais flexibilidade e controle dos dados. Entenda, não é que não funcione da maneira que está tentando, mas, é estranho, fora do comum e difícil de manter.