3

我目前正在使用 HSSFColor/HSSFPalette 和 XSSFColor 来设置现有/自定义颜色。实现如下: 例如 font.setColor(HSSFColor.WHITE.index); 对于 HSSF 或 cs.setFillForegroundColor(xssfColor); 对于 XSSF

我想在上述两种情况下为“十六进制颜色代码”传递参数。

喜欢:对于 HSSF:font.setColor()/font.setColor(getShortIndexFromHexColorCodes()) 对于 XSSF:cs.setFillForegroundColor();

有没有办法做上述事情,我可以通过十六进制颜色代码,颜色应用于 HSSF 和 XSSF。

请指导我并提前感谢:)

4

1 回答 1

7

当涉及到代码示例时,请尝试此处

现在稍微解释一下。在参数的情况下,font.setColor(short)是标准调色板中某个点的索引。通过使用HSSFPalette,您可以调用带有setColorAtIndex四个参数的函数。第一个是默认线程中的现有索引点(意味着您将替换的现有颜色)。其他三个分别是您想要的颜色的红色、绿色和蓝色值。因此,用您的自定义创建替换默认调色板中的一个点将允许您使用自己的十六进制值。这是 HSSF 案例。

XSSF 案例确实是微不足道的,这里是一个示例setFillForegroundColor(new XSSFColor(new java.awt.Color(128, 0, 128))) 您不必做出与在 HSSF 中相同的牺牲。只需使用 R、G 和 B 所需的十六进制值创建该颜色对象

于 2012-11-06T02:26:41.317 回答