質問

XLSファイルを生成するためにjexcelapiを使用しています。から jxl.format.colour, 、「標準のExcelカラーパレット」で色を取得する方法がわかりますが、新しい色を作成する方法は見られません(たとえば、RGBを与えられた場合)。

しかし、Excel自体では、どんな色を選ぶことができます。

私はそれを見逃していますか? jexcelapiに任意の色を選択する方法はありますか?私は今、シンプルな検索で最も密接な標準色の方法を使用していますが、それは大丈夫ですが、素晴らしいことではありません。

役に立ちましたか?

解決

2007年以前のExcelバージョンには標準のパレットがあり、使用しているAPIが2007年の形式をサポートしていないことを考えると、それに固執する可能性があります。必要な色を選択できる理由は、おそらくExcelの新しいバージョンを使用しているためです。

見る Microsoftサイトに関するこの情報.

使用しているAPIで標準のカラーパレットをどのようにオーバーライドできるかわかりませんが、Apache Poi(Excelファイルも記述できます)では次のことができます。 このリンク. 。基本的に、そこで行う必要があるのは次のとおりです。特定の標準色(緑など)をセルに割り当てます。それから オーバーライド 必要なカスタム色のこれらの色。

他のヒント

Jexcel APIのパレットインデックスをオーバーライドする方法は、Writable Workbookでメソッド[SetColourRGB] [1]を使用することです。例えば:

myWorkbook.setColourRGB(Colour.LIGHT_TURQUOISE2, 14, 67, 89);

デフォルトで2番目のライトターコイズがあるパレットエントリの色値を変更する場合。または、場合によってはより簡単に、パレットインデックスを直接使用します。

myWorkbook.setColourRGB(Colour.getInternalColour(myPaletteIdx), 14, 67, 89);

小さな更新:jxl.biff.paletterecordのソースコード内のコメントに従って、8〜64のインデックスのみをカスタマイズできます。

[1]: http://jexcelapi.sourceforge.net/resources/javadocs/current/docs/jxl/write/writableworkbook.html#setcolourrgb(jxl.format.colour, 、int、int、int)

WritableCellFormat cellFormat = new WritableCellFormat();

Colour customColor = new Colour(10000, "1", 255, 0, 0){     
};

cellFormat.setBackground(customColor);  
writableCell.setCellFormat(cellFormat);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top