Как установить цвет ячейки на пользовательский цвет с помощью C# NPOI? Я знаю, как изменить цвет ячейки с NPOI, используя индекс цвета:
XSSFCellStyle cellStyle = (XSSFCellStyle)workbook.CreateCellStyle();
cellStyle.FillBackgroundColor = IndexedColors.LightCornflowerBlue.Index;
cellStyle.FillForegroundColor = IndexedColors.LightCornflowerBlue.Index;
cellStyle.FillPattern = FillPattern.SolidForeground;
ICell cell = CurrentRow.CreateCell(CellIndex);
cell.CellStyle = cellStyle;
Однако я хочу использовать собственный цвет. IndexedColors ограничены и не очень полезны. Я долго искал ответ.
Я нашел этот пост много лет назад, но он уже не актуален. SetFillForegroundColor теперь является коротким и больше не является XSSFColor.
byte[] rgb = new byte[3] { 192, 0, 0 };
XSSFCellStyle HeaderCellStyle1 = (XSSFCellStyle)xssfworkbook.CreateCellStyle();
HeaderCellStyle1.SetFillForegroundColor(new XSSFColor(rgb));
Я должен был использовать FillBackgroundXSSFColor, а не FillBackgroundColor.
XSSFCellStyle cellStyle = (XSSFCellStyle)workbook.CreateCellStyle();
byte[] rgb = new byte[3] { 255, 221, 221 };
XSSFColor color = new XSSFColor(rgb);
cellStyle.FillBackgroundXSSFColor = color;
ICell cell = CurrentRow.CreateCell(CellIndex);
cell.CellStyle = cellStyle;