2012-06-25 39 views
2

我目前使用HSSFColor/HSSFPalette和XSSFColor來設置現有/自定義顏色。實施如下: 例如 font.setColor(HSSFColor.WHITE.index);對於HSSF 或 cs.setFillForegroundColor(xssfColor);對於XSSF應用POI使用'十六進制顏色代碼'提供的自定義顏色

我想在上述兩種情況下都爲「十六進制顏色代碼」傳遞參數。

喜歡:爲HSSF:font.setColor()/ font.setColor(getShortIndexFromHexColorCodes()) 爲XSSF:cs.setFillForegroundColor();

是否有任何出路做上述事情,我可以通過十六進制顏色代碼和顏色應用於HSSF和XSSF。

請指引我,在此先感謝:)

回答

6

當談到代碼示例,try here

現在稍作解釋。在font.setColor(short)的情況下,該參數是標準調色板中某個點的索引。通過與HSSFPalette一起工作,您可以撥打setColorAtIndex,其中有四個參數。第一個是默認線程中的現有索引點(意思是您將替換的現有顏色)。其他三個分別是你想要的顏色的紅色,綠色和藍色值。因此,使用自定義創建替換默認調色板中的某個點將允許您使用自己的十六進制值。這是HSSF的情況。

XSSF案例確實很簡單,下面是一個例子setFillForegroundColor(new XSSFColor(new java.awt.Color(128, 0, 128)))您不必在HSSF中做出同樣的犧牲。只需用R,G和B所需的十六進制值創建該Color對象

相關問題