如何使用 xssfworkbook npoi 设置字体中的 RGB 颜色

How can I set the RGB Color in font Using xssfworkbook npoi

如何使用 npoi class xssfworkbookcell backgroudn 中设置 RGB 颜色?

byte[] rgb = new byte[3] { 192, 50, 90 };
XSSFCellStyle HeaderCellStyle1 = (XSSFCellStyle)wb.CreateCellStyle();
HeaderCellStyle1.SetFillForegroundColor(new XSSFColor(new Color(255, 255, 255)));

我不想使用这种模式:

titlestyle.BottomBorderColor = IndexedColors.Grey25Percent.Index;

您必须先确保将字体转换为 XSSFFont,IFont 不提供对字体的 RGB 颜色属性的访问。

然后您可以使用 XSSColor 设置颜色,它可以从字节数组或 System.Drawing.Color 对象构造。

示例代码,不同种类的构造函数见评论:

var wb = new XSSFWorkbook();
var sheet = wb.CreateSheet("Sheet 1");

// Create a colored font
var font = (XSSFFont) wb.CreateFont();
// var color = new XSSFColor(ColorTranslator.FromHtml("#C88C14"));
// var color = new XSSFColor(new Color(255, 255, 255));
var color = new XSSFColor(new byte[] {200, 140, 20});
font.SetColor(color);

// Create a dedicated cell style using that font 
var style = wb.CreateCellStyle();
style.SetFont(font);

// Create some cell values
var row = sheet.CreateRow(0);
row.CreateCell(0).SetCellValue("Standard text");
var cell = row.CreateCell(1);
cell.SetCellValue("Colored text");

// Apply the cellstyle we created
cell.CellStyle = style;
    solution of your problem is here

    here simply define new xssfcolor and assign it to xssfcellstyle     


 var color = new XSSFColor(new byte[] { 0,255, 0 });
 var rowstyle =(XSSFCellStyle)wb.CreateCellStyle();
 rowstyle.SetFillForegroundColor(color)