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

时间:2016-07-06 11:45:59

标签: c# colors background rgb npoi

如何使用npoi使用类cell backgroudnxssfworkbook中设置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;

2 个答案:

答案 0 :(得分:1)

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

然后,您可以使用XSSColor设置颜色,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; 可以从字节数组或System.Drawing.Color对象构造。

示例代码,注释中构造函数的不同变种:

{{1}}

答案 1 :(得分:1)

    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)