List of usage examples for org.apache.poi.hssf.usermodel HSSFPalette addColor
public HSSFColor addColor(byte red, byte green, byte blue)
From source file:jdbreport.model.io.xls.poi.Excel2003Writer.java
License:Apache License
protected short colorToIndex(Workbook wb, Color color) { if (color == null) { return 0; }//from w w w . ja v a2 s. c o m if (Color.black.equals(color)) { return IndexedColors.BLACK.getIndex(); } if (Color.white.equals(color)) { return IndexedColors.WHITE.getIndex(); } if (Color.blue.equals(color) || Color.blue.darker().equals(color) || Color.blue.brighter().equals(color)) { return IndexedColors.BLUE.getIndex(); } if (Color.red.equals(color) || Color.red.darker().equals(color) || Color.red.brighter().equals(color)) { return IndexedColors.RED.getIndex(); } if (Color.LIGHT_GRAY.equals(color)) { return IndexedColors.GREY_25_PERCENT.getIndex(); } if (Color.GRAY.equals(color)) { return IndexedColors.GREY_50_PERCENT.getIndex(); } if (Color.DARK_GRAY.equals(color)) { return IndexedColors.GREY_80_PERCENT.getIndex(); } if (Color.green.equals(color) || Color.green.brighter().equals(color) || Color.green.darker().equals(color)) { return IndexedColors.GREEN.getIndex(); } if (Color.magenta.equals(color) || Color.magenta.darker().equals(color) || Color.magenta.brighter().equals(color)) { return IndexedColors.MAROON.getIndex(); } if (Color.orange.equals(color) || Color.orange.darker().equals(color) || Color.orange.brighter().equals(color)) { return IndexedColors.ORANGE.getIndex(); } if (Color.pink.equals(color) || Color.pink.darker().equals(color) || Color.pink.brighter().equals(color)) { return IndexedColors.PINK.getIndex(); } if (Color.yellow.equals(color) || Color.yellow.darker().equals(color) || Color.yellow.brighter().equals(color)) { return IndexedColors.YELLOW.getIndex(); } byte r = (byte) color.getRed(); byte g = (byte) color.getGreen(); byte b = (byte) color.getBlue(); HSSFPalette palette = ((HSSFWorkbook) wb).getCustomPalette(); HSSFColor hssColor = palette.findColor(r, g, b); try { if (hssColor == null) { hssColor = palette.addColor(r, g, b); } return hssColor.getIndex(); } catch (RuntimeException e) { hssColor = palette.findSimilarColor(r, g, b); return hssColor != null ? hssColor.getIndex() : 0; } }