src/org/tiefaces/components/websheet/utility/ColorUtility.java
private static XColor getXColorFromRgbClr(final CTSRgbColor ctrColor) {
		XSSFColor bcolor = null;
		try {
			byte[] rgb = ctrColor.getVal();
			bcolor = new XSSFColor(rgb);
		} catch (Exception ex) {
			LOG.log(Level.SEVERE, "Cannot get rgb color error = "
					+ ex.getLocalizedMessage(), ex);
			return null;
		}
		int lumOff = 0;
		int lumMod = 0;
		int alphaStr = 0;
		try {
			lumOff = ctrColor.getLumOffArray(0).getVal();
		} catch (Exception ex) {
			LOG.log(Level.FINE, "No lumOff entry", ex);
		}
		try {
			lumMod = ctrColor.getLumModArray(0).getVal();
		} catch (Exception ex) {
			LOG.log(Level.FINE, "No lumMod entry", ex);
		}
		try {
			alphaStr = ctrColor.getAlphaArray(0).getVal();
		} catch (Exception ex) {
			LOG.log(Level.FINE, "No alpha entry", ex);
		}
		return assembleXcolor(bcolor, 0, lumOff, lumMod, alphaStr);
	}
private static XColor getXColorFromRgbClr(final CTSRgbColor ctrColor) {
		XSSFColor bcolor = null;
		try {
			byte[] rgb = ctrColor.getVal();
			bcolor = new XSSFColor(rgb);
		} catch (Exception ex) {
			LOG.log(Level.SEVERE, "Cannot get rgb color error = "
					+ ex.getLocalizedMessage(), ex);
			return null;
		}
		int lumOff = 0;
		int lumMod = 0;
		int alphaStr = 0;
		try {
			lumOff = ctrColor.getLumOffArray(0).getVal();
		} catch (Exception ex) {
			LOG.log(Level.FINE, "No lumOff entry", ex);
		}
		try {
			lumMod = ctrColor.getLumModArray(0).getVal();
		} catch (Exception ex) {
			LOG.log(Level.FINE, "No lumMod entry", ex);
		}
		try {
			alphaStr = ctrColor.getAlphaArray(0).getVal();
		} catch (Exception ex) {
			LOG.log(Level.FINE, "No alpha entry", ex);
		}
		return assembleXcolor(bcolor, 0, lumOff, lumMod, alphaStr);
	}
get xcolor from ctsRgbColor.

@param ctrColor
ctsRgbColor
@return xcolor