private Font cloneFont(CellStyle cellstyle) { Font newFont = spreadsheet.getWorkbook().createFont(); Font originalFont = spreadsheet.getWorkbook().getFontAt(cellstyle.getFontIndex()); if (originalFont != null) { newFont.setBold(originalFont.getBold()); newFont.setItalic(originalFont.getItalic()); newFont.setFontHeight(originalFont.getFontHeight()); newFont.setUnderline(originalFont.getUnderline()); newFont.setStrikeout(originalFont.getStrikeout()); // This cast an only be done when using .xlsx files XSSFFont originalXFont = (XSSFFont) originalFont; XSSFFont newXFont = (XSSFFont) newFont; newXFont.setColor(originalXFont.getXSSFColor()); } return newFont; }