Я думаю, это потому, что вы продолжаете создавать строку 0 снова и снова, поэтому она перезаписывает то, что вы уже создали.
Возможно, вы захотите сделать что-то вроде этого:
if(sheet2.getRow() == null){
sheet2.createRow(0).createCell(Readingrowindex).setCellValue(ah);
}else{
sheet2.getRow(0).createCell(Readingrowindex).setCellValue(ah);
}