私のコードでは、テキストが "PASS"の場合、HSSFWorkbookの特定の列のセルの色を変更したいと思います。しかし、コードを書くときに、多くのメソッドと定数のような多くのメソッドと定数は、BRIGHT_GREEN.index、setFillPattern,SOLID_FOREGROUNDは推奨されていません。私はApache POI公式サイトで代替案を探しましたが、そこに書かれているコードも非難されています。 @deprecationタグについて言及すれば問題はないが、時には100〜150行(行)後にセルの色が変化しないことがわかっている。誰も私に@deprecationを避けるための選択肢があると教えてもらえますか?参考:私はpoi-bin-3.17-beta1-20170701 jarsを使用しています。事前に 感謝:)Apache POIでHSSFの組み込みの色を使用することを避けるための別の方法はありますか?
if(cell.getStringCellValue().equalsIgnoreCase("Pass")){
HSSFCellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(HSSFColor.BRIGHT_GREEN.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
cell.setCellStyle(style);
}
おかげさまで@sfat、しかし今、別の問題に直面しています。私が言ったように、私は** style.setFillForegroundColor(HSSFColor.BRIGHT_GREEN.index)から**私のコードを** style.setFillBackgroundColor(HSSFColor.HSSFColorPredefined.BRIGHT_GREEN)**に変更しました**しかし、エラーが表示されます: * HSSFCellStyle型のメソッドsetFillBackgroundColor(short)は、引数(HSSFColor.HSSFColorPredefined)には適用できません。setFillForeGroundColor(...)に変更します。* ** setFillForeGroundColor(..)**を使用しようとしましたが、私は同じエラーを言って、それを** setFillBackGroundColor(..)**に変更することを提案します。 – BongCule
@BongCuleが答えを更新しました。最新のビットを確認してください。あなたの場合、あなたの問題はあなたが 'getIndex()'を呼ばないからです。 Googleでのクイック検索は、今後これらの問題を解決するのに役立ちます:) – sfat
おかげでトンの男。あなたはちょうど私の問題を解決しました。 :) – BongCule