0

getStyle().getFont(workbook).getColor()ショートを返します。色のRGB値を取得するにはどうすればよいですか?

ところで、

palette.getColor(style.getFont(this.book).getColor()).getTriplet()

常に機能するとは限りません (null ポインター例外が時々発生します)。多分私は何か間違ったことをしていました。

4

1 に答える 1

1

私はそれを理解したかもしれないと思います。セルが既定の色 (通常は黒) を使用している場合、既定の色はカラー パレットに存在しません。

これが実際の例です:

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(");");
    }
}
于 2012-11-06T22:44:33.600 に答える