Вы должны установить стиль ячейки и затем применить желаемый цвет к нему.
if (namestr1.equals(namestr2)) {
System.out.println("[Processing] :" + "NAME " + namestr1 + "=> Book 1 name = " + namestr1 + " Book 2 name = " +
// add color
XSSFCellStyle style = workbook1.createCellStyle();
style.setFillForegroundColor(IndexedColors.GREEN.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
assert name1 != null;
name1.setCellStyle(style);
FileOutputStream fos = new FileOutputStream(BOOK1);
workbook1.write(fos);
fos.close();
}
То сообщение, которое Вы связали, является правильным подходом, они просто сделали это очень сложным. Вы хотели бы использовать Graphics.CopyFromScreen
.
Rectangle bounds = this.Bounds;
using(Bitmap ss = new Bitmap(bounds.Width, bounds.Height))
using(Graphics g = Graphics.FromImage(ss))
{
g.CopyFromScreen(this.Location, Point.Empty, bounds.Size);
ss.Save("test.jpg", ImageFormat.Jpeg);
}