【问题标题】:Apply POI Custom color using 'Hexadecimal Color Codes' provided使用提供的“十六进制颜色代码”应用 POI 自定义颜色
【发布时间】:2012-06-25 11:51:41
【问题描述】:

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

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

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

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

请指导我并提前感谢:)

【问题讨论】:

    标签: apache-poi


    【解决方案1】:

    说到代码示例,try here

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

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

    【讨论】:

      猜你喜欢
      • 2011-10-25
      • 2019-04-19
      • 2011-09-20
      • 2017-10-01
      • 2014-05-02
      • 2021-07-19
      • 1970-01-01
      • 1970-01-01
      • 2019-11-28
      相关资源
      最近更新 更多