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);