Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用ApachePOI获取Excel单元格字体颜色RGB?_Java_Apache_Apache Poi - Fatal编程技术网

Java 如何使用ApachePOI获取Excel单元格字体颜色RGB?

Java 如何使用ApachePOI获取Excel单元格字体颜色RGB?,java,apache,apache-poi,Java,Apache,Apache Poi,getStyle().getFont(工作簿).getColor()返回一个短字符。如何获得颜色的RGB值 顺便说一句 并不总是有效(有时会发生空指针异常)。也许我做错了什么。我想我可能已经明白了。当单元格使用默认颜色(通常为黑色)时,调色板中不存在默认颜色 下面是一个工作示例: final HSSFColor foreColor = palette.getColor(style.getFont(this.book).getColor()); if (foreColor != null) {

getStyle().getFont(工作簿).getColor()
返回一个短字符。如何获得颜色的RGB值

顺便说一句


并不总是有效(有时会发生空指针异常)。也许我做错了什么。

我想我可能已经明白了。当单元格使用默认颜色(通常为黑色)时,调色板中不存在默认颜色

下面是一个工作示例:

final HSSFColor foreColor = palette.getColor(style.getFont(this.book).getColor());
if (foreColor != null) {
    final short[] foreRGB = foreColor.getTriplet();
    if (foreRGB[0] != 0 || foreRGB[1] != 0 || foreRGB[2] != 0) {
        out.append("color: rgb(").append(foreRGB[0]).append(',').append(foreRGB[1]).append(',').append(foreRGB[2]).append(");");
    }
}
final HSSFColor foreColor = palette.getColor(style.getFont(this.book).getColor());
if (foreColor != null) {
    final short[] foreRGB = foreColor.getTriplet();
    if (foreRGB[0] != 0 || foreRGB[1] != 0 || foreRGB[2] != 0) {
        out.append("color: rgb(").append(foreRGB[0]).append(',').append(foreRGB[1]).append(',').append(foreRGB[2]).append(");");
    }
}