简体   繁体   中英

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

How can I set the RGB color in cell backgroudn using class xssfworkbook using npoi?

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

I don't want to use this pattern:

titlestyle.BottomBorderColor = IndexedColors.Grey25Percent.Index;

You have to make sure you cast your font to XSSFFont first, IFont does not offer access to the RGB color properties of the font.

You can then set the color using an XSSColor , which can either be constructed from a byte array or a System.Drawing.Color object.

Example code, different varieties of the constructor in comments:

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)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM