You’re currently creating some of your cells twice, which is why it’s all going wrong
Firstly, I’d suggest you move the cell style creation to nearer the top of your code. Remember – cell styles are scoped to a workbook, so don’t create one per cell!
CellStyle style = wb.createCellStyle();
Font font = wb.createFont();
font.setColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
style.setFont(font);
// Set more colours on the style as needed
// Set formatting rules on the style as needed
Now, depending on your preference, either do your cell creation like this:
Cell cell;
cell = rowxl.createCell(0);
cell.setCellValue("ABC");
cell.setCellStyle(style);
cell = rowxl.createCell(1);
cell.setCellValue("aaa");
cell.setCellStyle(style);
Or like this:
rowxl.createCell(1).setCellValue("ABC");
rowxl.createCell(2).setCellValue("aaa");
rowx1.getCell(1).setCellStyle(style);
rowx1.getCell(2).setCellStyle(style);
Just don’t do that weird hybrid you’ve got at the moment, as you end up creating cells twice and missing out styling!