使用epplus c#设置Excel工作表单元格的自定义BackgroundColor

Posted

技术标签:

【中文标题】使用epplus c#设置Excel工作表单元格的自定义BackgroundColor【英文标题】:Set custom BackgroundColor of a Excel sheet cell using epplus c# 【发布时间】:2013-06-04 14:34:48 【问题描述】:

问题:

我正在使用 EEPlus。

我一直在应用十六进制颜色代码,例如#B7DEE8,用于我的 Excel 工作表中的一个单元格。

我得到了以下(工作)代码:

ws.Cells["A1:B1"].Style.Fill.PatternType = ExcelFillStyle.Solid;
ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor(Color.Gray);

但我需要类似以下内容:

ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor("#B7DEE8");

所以我的问题是:EEPlus 是否可以使用十六进制颜色代码?如果是这样,我该怎么做?

【问题讨论】:

【参考方案1】:

试试这个

Color colFromHex = System.Drawing.ColorTranslator.Fromhtml("#B7DEE8");
ws.Cells["A1:B1"].Style.Fill.PatternType = ExcelFillStyle.Solid;
ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor(colFromHex);

【讨论】:

我使用的是 Interop.Excel,所以我不得不使用 range.Interior.Color 但 HTML 函数的颜色正是我所需要的。 System.Drawing.ColorTranslator.FromHtml 确实是任何人都需要的。【参考方案2】:

这很好用。

Dim objExcel As New ExcelPackage
Dim Sheet As ExcelWorksheet = objExcel.Workbook.Worksheets.Add("SheetName")
Sheet.Cells["A1"].Style.Fill.PatternType = Style.ExcelFillStyle.Solid
Sheet.Cells["A1"].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(170, 170, 170))

【讨论】:

【参考方案3】:

您不必翻译十六进制 CSS 颜色公式:您可以简单地将“0X”作为该数字的标题,这使其成为整数表达式:

    var couleur = System.Drawing.Color.FromArgb(OXB7DEF8);
    Sheet.Cells["A1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
    Sheet.Cells["A1"].Style.Fill.BackgroundColor.SetColor(couleur);

【讨论】:

【参考方案4】:

这对我有用。

//用十六进制的纯红色填充A列

worksheet.Column(1).Style.Fill.PatternType = ExcelFillStyle.Solid; worksheet.Column(1).Style.Fill.BackgroundColor.SetColor(ColorTranslator.FromHtml("#FF0000"));`

//用橙色条纹背景填充第 4 行

worksheet.Row(4).Style.Fill.PatternType = ExcelFillStyle.DarkHorizo​​ntal; worksheet.Row(4).Style.Fill.BackgroundColor.SetColor(Color.Orange);

【讨论】:

以上是关于使用epplus c#设置Excel工作表单元格的自定义BackgroundColor的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 EPPlus 设置 XLSX 单元格宽度?

使用 C# 读取 Excel 工作表,其中表格已合并单元格

C# 弹性体。更改背景单元格的颜色。 Excel

如何在 epplus 中使用 c# 为 excel 中的整个列着色?

如何获取excel表格中占用单元格的范围

EPPlus使用过程中怎么让导出的excel设置单元格格式