特定の定義された色にセルの色を変更します

EZZ Eddinオスマン:

私は、コードを使用私は `をjava.awt.Color [R = 255、G = 255、B = 255]と定義し、色にセルの色を変更します。

Color sColor = new Color(200, 0, 0);
XSSFColor userColor = new XSSFColor(sColor);
try
{
    CellStyle style = wb.createCellStyle();
    Font font = wb.createFont();
    font.setColor(userColor.getIndexed());
    style.setFont(font);
    cell.setCellStyle(style);
}
catch (NumberFormatException | NullPointerException ex) 
{
    //Handle NumberFormat and NullPointer exceptions here    
}

色は常に黒のまま。

そして、の出力はSystem.out.print(userColor);次のとおりです。>(org.apache.poi.xssf.usermodel.XSSFColor@2e1b928)。実際に、それは私が入力した値に依存して変化しますnew Color (200,0,0);

しかし、の出力はSystem.out.print(userColor.getIndexed());常にある:(0)。

任意のヒント?

RaceYouAnytime:

あなたのようにフォントをインスタンス化した場合XSSFFontは、メソッドを使用することができます

XSSFFont.setColor(XSSFColor) // Takes a color object, not a short!

こちらのドキュメントを参照してください。https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html#setColor-org.apache.poi.xssf.usermodel.XSSFColor-

だから、(それは簡単なテストで私のために働いていた)、これを試してみてください。

Color sColor = new Color(200, 0, 0);
XSSFColor userColor = new XSSFColor(sColor);

CellStyle style = wb.createCellStyle();
XSSFFont font = wb.createFont();
font.setColor(userColor);
style.setFont(font);
cell.setCellStyle(style);

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=221447&siteId=1