The key uses the HSSFRichTextString object to set the value of the cell. This object has an applyFont method that accepts startIndex, endIndex and Font. That way, you can create fonts with the right colors, and then apply them to parts of the cell value with applyFont ().
Here is an example of the code I combined (completely untested):
// Set up a rudimentary worksheet with a cell in it HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("sheet1"); HSSFRow row = sheet.createRow(0); HSSFCell cell = row.createCell(0); // Set up fonts HSSFFont blueFont = workbook.createFont(); blueFont.setColor(HSSFColor.BLUE.index); HSSFFont greenFont = workbook.createFont(); greenFont.setColor(HSSFColor.GREEN.index); // create a cell style and assign the first font to it HSSFCellStyle style = workbook.createCellStyle(); style.setFont(blueFont); // assign the style to the cell cell.setCellStyle(style); // override the parts of the text that you want to // color differently by applying a different font. HSSFRichTextString richString = new HSSFRichTextString("Hello, World!"); richString.applyFont(6, 13, greenFont); cell.setCellValue(richString);
Brian rogers
source share