本文整理汇总了C#中NPOI.XSSF.UserModel.XSSFColor类的典型用法代码示例。如果您正苦于以下问题:C# XSSFColor类的具体用法?C# XSSFColor怎么用?C# XSSFColor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
XSSFColor类属于NPOI.XSSF.UserModel命名空间,在下文中一共展示了XSSFColor类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateStyle
private ICellStyle CreateStyle(byte[] color, byte[] fontColor)
{
var myColor = new XSSFColor(color);
var myFontColor = new XSSFColor(fontColor);
var style = (XSSFCellStyle)_workbook.CreateCellStyle();
var font = (XSSFFont)_workbook.CreateFont();
font.Boldweight = (short)FontBoldWeight.Bold;
font.SetColor(myFontColor);
font.FontName = "Arial";
font.FontHeightInPoints = 10;
style.SetFont(font);
style.SetFillForegroundColor(myColor);
style.FillPattern = FillPattern.SolidForeground;
return style;
}
示例2: ExcelCreate
static ExcelCreate()
{
_scoreColor = new XSSFColor();
_scoreColor.SetRgb(new byte[] { 255, 153, 58 });
_winRateColor = new XSSFColor();
_winRateColor.SetRgb(new byte[] { 255, 0, 0 });
_bgColor1 = new XSSFColor();
_bgColor1.SetRgb(new byte[] { 112, 206, 188 });
_bgColor2 = new XSSFColor();
_bgColor2.SetRgb(new byte[] { 220, 230, 241 });
}
示例3: SetBottomBorderColor
/**
* Set the color to use for the bottom border
*
* @param color the color to use, null means no color
*/
public void SetBottomBorderColor(XSSFColor color)
{
CT_Border ct = GetCTBorder();
if (color == null && !ct.IsSetBottom()) return;
CT_BorderPr pr = ct.IsSetBottom() ? ct.bottom : ct.AddNewBottom();
if (color != null) pr.SetColor(color.GetCTColor());
else pr.UnsetColor();
int idx = _stylesSource.PutBorder(new XSSFCellBorder(ct, _theme));
_cellXf.borderId = (uint)idx;
_cellXf.applyBorder = (true);
}
示例4: SetFillForegroundColor
/**
* Set the foreground fill color represented as a {@link XSSFColor} value.
* <br/>
* <i>Note: Ensure Foreground color is Set prior to background color.</i>
* @param color the color to use
* @see #setFillBackgroundColor(NPOI.xssf.usermodel.XSSFColor) )
*/
public void SetFillForegroundColor(XSSFColor color)
{
CT_Fill ct = GetCTFill();
CT_PatternFill ptrn = ct.GetPatternFill();
if (color == null)
{
if (ptrn != null) ptrn.unsetFgColor();
}
else
{
if (ptrn == null) ptrn = ct.AddNewPatternFill();
ptrn.fgColor =(color.GetCTColor());
}
int idx = _stylesSource.PutFill(new XSSFCellFill(ct));
_cellXf.fillId = (uint)idx;
_cellXf.applyFill = (true);
}
示例5: TestGetSetFillBackgroundColor
public void TestGetSetFillBackgroundColor()
{
Assert.AreEqual(IndexedColors.Automatic.Index, cellStyle.FillBackgroundColor);
Assert.IsNull(cellStyle.FillBackgroundColorColor);
XSSFColor clr;
int num = stylesTable.GetFills().Count;
//setting indexed color
cellStyle.FillBackgroundColor = (IndexedColors.Red.Index);
Assert.AreEqual(IndexedColors.Red.Index, cellStyle.FillBackgroundColor);
clr = (XSSFColor)cellStyle.FillBackgroundColorColor;
Assert.IsTrue(clr.GetCTColor().IsSetIndexed());
Assert.AreEqual(IndexedColors.Red.Index, clr.Indexed);
//a new fill was Added to the styles table
Assert.AreEqual(num + 1, stylesTable.GetFills().Count);
//id of the Created border
int FillId = (int)cellStyle.GetCoreXf().fillId;
Assert.IsTrue(FillId > 0);
//check changes in the underlying xml bean
CT_Fill ctFill = stylesTable.GetFillAt(FillId).GetCTFill();
Assert.AreEqual((uint)IndexedColors.Red.Index, ctFill.GetPatternFill().bgColor.indexed);
//setting XSSFColor
num = stylesTable.GetFills().Count;
clr = new XSSFColor(Color.Cyan);
cellStyle.SetFillBackgroundColor(clr); // TODO this testcase assumes that cellStyle creates a new CT_Fill, but the implementation changes the existing style. - do not know whats right 8-(
Assert.AreEqual(clr.GetCTColor().ToString(), ((XSSFColor)cellStyle.FillBackgroundColorColor).GetCTColor().ToString());
byte[] rgb = ((XSSFColor)cellStyle.FillBackgroundColorColor).GetRgb();
Assert.AreEqual(Color.Cyan.ToArgb(), Color.FromArgb(rgb[0] & 0xFF, rgb[1] & 0xFF, rgb[2] & 0xFF).ToArgb());
//another border was added to the styles table
Assert.AreEqual(num, stylesTable.GetFills().Count);
//passing null unsets the color
cellStyle.SetFillBackgroundColor(null);
Assert.IsNull(cellStyle.FillBackgroundColorColor);
Assert.AreEqual(IndexedColors.Automatic.Index, cellStyle.FillBackgroundColor);
}
示例6: SetBorderColor
/**
* Set the color to use for the selected border
*
* @param side - where to apply the color defInition
* @param color - the color to use
*/
public void SetBorderColor(BorderSide side, XSSFColor color)
{
switch (side)
{
case BorderSide.BOTTOM:
SetBottomBorderColor(color);
break;
case BorderSide.RIGHT:
SetRightBorderColor(color);
break;
case BorderSide.TOP:
SetTopBorderColor(color);
break;
case BorderSide.LEFT:
SetLeftBorderColor(color);
break;
}
}
示例7: CreateColours
/// <summary>
/// create the colours for the COBie sheet
/// </summary>
/// <param name="colourName"></param>
/// <param name="red"></param>
/// <param name="green"></param>
/// <param name="blue"></param>
private void CreateColours(string colourName, byte red, byte green, byte blue)
{
IColor colour = null;
if (IsXlsx)
{
byte[] rgb = new byte[3] { red, green, blue };
colour = new XSSFColor(rgb) as IColor;
}
else
{
HSSFPalette palette = ((HSSFWorkbook)ExcelWorkbook).GetCustomPalette();
colour = palette.FindSimilarColor(red, green, blue);
if (colour == null)
{
// First 64 are system colours
//srl this code does not work with the latest version of NPOI
//if (NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE < 64 )
//{
// NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE = 64;
//}
//NPOI.HSSF.Record.PaletteRecord.STANDARD_PALETTE_SIZE++;
colour = palette.AddColor(red, green, blue);
}
}
_colours.Add(colourName, colour);
}
示例8: TestGetSetRightBorderColor
public void TestGetSetRightBorderColor()
{
//defaults
Assert.AreEqual(IndexedColors.Black.Index, cellStyle.RightBorderColor);
Assert.IsNull(cellStyle.RightBorderXSSFColor);
int num = stylesTable.GetBorders().Count;
XSSFColor clr;
//setting indexed color
cellStyle.RightBorderColor = (IndexedColors.BlueGrey.Index);
Assert.AreEqual(IndexedColors.BlueGrey.Index, cellStyle.RightBorderColor);
clr = cellStyle.RightBorderXSSFColor;
Assert.IsTrue(clr.GetCTColor().IsSetIndexed());
Assert.AreEqual(IndexedColors.BlueGrey.Index, clr.Indexed);
//a new border was Added to the styles table
Assert.AreEqual(num + 1, stylesTable.GetBorders().Count);
//id of the Created border
int borderId = (int)cellStyle.GetCoreXf().borderId;
Assert.IsTrue(borderId > 0);
//check Changes in the underlying xml bean
CT_Border ctBorder = stylesTable.GetBorderAt(borderId).GetCTBorder();
Assert.AreEqual((uint)IndexedColors.BlueGrey.Index, ctBorder.right.color.indexed);
//setting XSSFColor
num = stylesTable.GetBorders().Count;
clr = new XSSFColor(Color.Cyan);
cellStyle.SetRightBorderColor(clr);
Assert.AreEqual(clr.GetCTColor().ToString(), cellStyle.RightBorderXSSFColor.GetCTColor().ToString());
byte[] rgb = cellStyle.RightBorderXSSFColor.GetRgb();
Assert.AreEqual(Color.Cyan.ToArgb(), Color.FromArgb(rgb[0] & 0xFF, rgb[1] & 0xFF, rgb[2] & 0xFF).ToArgb());
//another border was Added to the styles table
Assert.AreEqual(num, stylesTable.GetBorders().Count);
//passing null unsets the color
cellStyle.SetRightBorderColor(null);
Assert.IsNull(cellStyle.RightBorderXSSFColor);
}
示例9: GetFontStyle
/// <summary>
/// 获取字体样式
/// </summary>
/// <param name="hssfworkbook">Excel操作类</param>
/// <param name="fontfamily">字体名</param>
/// <param name="fontcolor">字体颜色</param>
/// <param name="fontsize">字体大小</param>
/// <param name="bold">是否加粗</param>
/// <param name="typeOffset">上下标</param>
/// <returns></returns>
public static IFont GetFontStyle(XSSFWorkbook hssfworkbook, string fontfamily, XSSFColor fontcolor, int fontsize, FontBoldWeight bold = FontBoldWeight.Normal, FontSuperScript typeOffset = FontSuperScript.None)
{
XSSFFont xfont = hssfworkbook.CreateFont() as XSSFFont;
if (string.IsNullOrEmpty(fontfamily))
{
xfont.FontName = fontfamily;
}
if (fontcolor != null)
{
xfont.SetColor(fontcolor);
}
xfont.IsItalic = false;
xfont.FontHeightInPoints = (short)fontsize;
xfont.Boldweight = (short)bold;
xfont.TypeOffset = typeOffset;
return xfont;
}
示例10: GetCellStyle
/// <summary>
/// 获取单元格样式
/// </summary>
/// <param name="xssfworkbook">Excel操作类</param>
/// <param name="font">单元格字体</param>
/// <param name="fillForegroundColor">图案的颜色</param>
/// <param name="fillPattern">图案样式</param>
/// <param name="fillBackgroundColor">单元格背景</param>
/// <param name="ha">垂直对齐方式</param>
/// <param name="va">垂直对齐方式</param>
/// <returns></returns>
public static ICellStyle GetCellStyle(XSSFWorkbook xssfworkbook, IFont font, XSSFColor fillForegroundColor, FillPattern fillPattern, XSSFColor fillBackgroundColor, HorizontalAlignment ha, VerticalAlignment va)
{
XSSFCellStyle cellstyle = xssfworkbook.CreateCellStyle() as XSSFCellStyle;
cellstyle.FillPattern = fillPattern;
cellstyle.Alignment = ha;
cellstyle.VerticalAlignment = va;
if (fillForegroundColor != null)
{
cellstyle.SetFillForegroundColor(fillForegroundColor);
}
if (fillBackgroundColor != null)
{
cellstyle.SetFillBackgroundColor(fillBackgroundColor);
}
if (font != null)
{
cellstyle.SetFont(font);
}
return cellstyle;
}
示例11: TestRgbColor
public void TestRgbColor()
{
CT_Font ctFont = new CT_Font();
CT_Color color = ctFont.AddNewColor();
//Integer.toHexString(0xFFFFFF).getBytes() = [102, 102, 102, 102, 102, 102]
color.SetRgb(Encoding.ASCII.GetBytes("ffffff"));
ctFont.SetColorArray(0, color);
XSSFFont xssfFont = new XSSFFont(ctFont);
Assert.AreEqual(ctFont.GetColorArray(0).GetRgb()[0], xssfFont.GetXSSFColor().GetRgb()[0]);
Assert.AreEqual(ctFont.GetColorArray(0).GetRgb()[1], xssfFont.GetXSSFColor().GetRgb()[1]);
Assert.AreEqual(ctFont.GetColorArray(0).GetRgb()[2], xssfFont.GetXSSFColor().GetRgb()[2]);
Assert.AreEqual(ctFont.GetColorArray(0).GetRgb()[3], xssfFont.GetXSSFColor().GetRgb()[3]);
//Integer.toHexString(0xF1F1F1).getBytes() = [102, 49, 102, 49, 102, 49]
color.SetRgb(Encoding.ASCII.GetBytes("f1f1f1"));
XSSFColor newColor = new XSSFColor(color);
xssfFont.SetColor(newColor);
Assert.AreEqual(ctFont.GetColorArray(0).GetRgb()[2], newColor.GetRgb()[2]);
}
示例12: CreateCadrePBEtMicroModule
private void CreateCadrePBEtMicroModule(ref int hauteur, int nombreCassette)
{
var blanc = new byte[3] { 255, 255, 255 };
var endHauteur = hauteur + 1;
var mergePB = new CellRangeAddress(hauteur, endHauteur, 20, 21);
_cadreCreator.Create(hauteur, 20, endHauteur, 21, blanc, BorderStyle.Medium, mergePB, false, true);
var cell = _sheet.GetRow(hauteur).GetCell(20);
var style = cell.CellStyle;
var myFontColor = new XSSFColor(new byte[3] { 255, 0, 0 });
var font = (XSSFFont)_workbook.CreateFont();
font.SetColor(myFontColor);
style.SetFont(font);
cell.CellStyle = style;
var nombre = (decimal)nombreCassette / 2;
cell.SetCellValue(Math.Round(nombre, MidpointRounding.AwayFromZero) + " PB");
var mergeMicroModule = new CellRangeAddress(hauteur, endHauteur, 22, 23);
_cadreCreator.Create(hauteur, 22, endHauteur, 23, blanc, BorderStyle.Medium, mergeMicroModule, false, true);
var cellMicroModule = _sheet.GetRow(hauteur).GetCell(22);
var styleMicroModule = cellMicroModule.CellStyle;
var myFontColorMicroModule = new XSSFColor(new byte[3] { 226, 107, 10 });
var fontMicroModule = (XSSFFont)_workbook.CreateFont();
fontMicroModule.SetColor(myFontColorMicroModule);
styleMicroModule.SetFont(fontMicroModule);
cellMicroModule.CellStyle = styleMicroModule;
cellMicroModule.SetCellValue(nombreCassette + " µm");
hauteur = hauteur + 2;
}
示例13: InheritFromThemeAsRequired
/**
* If the colour is based on a theme, then inherit
* information (currently just colours) from it as
* required.
*/
public void InheritFromThemeAsRequired(XSSFColor color)
{
if (color == null)
{
// Nothing for us to do
return;
}
if (!color.GetCTColor().themeSpecified)
{
// No theme Set, nothing to do
return;
}
// Get the theme colour
XSSFColor themeColor = GetThemeColor(color.Theme);
// Set the raw colour, not the adjusted one
// Do a raw Set, no adjusting at the XSSFColor layer either
color.GetCTColor().SetRgb(themeColor.GetCTColor().GetRgb());
// All done
}
示例14: SetColor
/**
* set the color for the font in Standard Alpha Red Green Blue color value
*
* @param color - color to use
*/
public void SetColor(XSSFColor color)
{
if (color == null) _ctFont.SetColorArray(null);
else
{
Spreadsheet.CT_Color ctColor = _ctFont.sizeOfColorArray() == 0 ? _ctFont.AddNewColor() : _ctFont.GetColorArray(0);
ctColor.SetRgb(color.GetRgb());
}
}
示例15: GetXSSFColor
/**
* get the color value for the font
* References a color defined as Standard Alpha Red Green Blue color value (ARGB).
*
* @return XSSFColor - rgb color to use
*/
public XSSFColor GetXSSFColor()
{
Spreadsheet.CT_Color ctColor = _ctFont.sizeOfColorArray() == 0 ? null : _ctFont.GetColorArray(0);
if (ctColor != null)
{
XSSFColor color = new XSSFColor(ctColor);
if (_themes != null)
{
_themes.InheritFromThemeAsRequired(color);
}
return color;
}
else
{
return null;
}
}