EPPlus改变细胞的边界颜色

Mat*_*teo 8 c# excel epplus

我正在尝试更改所选范围内的单元格边框颜色.除了边框的权重之外,找不到任何其他单元格边框样式,如下所示:

range.Style.Border.Top.Style = ExcelBorderStyle.Thin;
range.Style.Border.Left.Style = ExcelBorderStyle.Thin;
range.Style.Border.Right.Style = ExcelBorderStyle.Thin;
range.Style.Border.Bottom.Style = ExcelBorderStyle.Thin;
Run Code Online (Sandbox Code Playgroud)

Ern*_*e S 12

如果要在单元格的不同部分发送边框颜色,可以这样做:

range.Style.Border.Top.Color.SetColor(Color.Red);
range.Style.Border.Bottom.Color.SetColor(Color.Green);
range.Style.Border.Left.Color.SetColor(Color.Blue);
range.Style.Border.Right.Color.SetColor(Color.Yellow);
Run Code Online (Sandbox Code Playgroud)

SetColor可以采取任何形式System.Drawing.Color.


j.k*_*hil 7

您可以使用此代码更改边框样式和颜色

range.Style.Border.BorderAround(ExcelBorderStyle.Medium, System.Drawing.Color.Blue);
Run Code Online (Sandbox Code Playgroud)

  • 这也有效,但我需要一个解决方案,按照 Ernie 的解决方案要求为每个单元格的所有边添加边框。不管怎么说,还是要谢谢你。 (2认同)

Abh*_*mas 5

            using (ExcelRange range = worksheet.Cells["A1:H1"])
            {
                range.Style.Font.Bold = true;
                range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
                range.Style.VerticalAlignment = ExcelVerticalAlignment.Center;
                range.Style.Fill.PatternType = ExcelFillStyle.Solid;
                range.Style.Fill.BackgroundColor.SetColor(Color.White);

                range.Style.Border.Top.Style = ExcelBorderStyle.Thin;
                range.Style.Border.Top.Color.SetColor(Color.Red);
                range.Style.Border.Left.Style = ExcelBorderStyle.Thin;
                range.Style.Border.Left.Color.SetColor(Color.Green);
                range.Style.Border.Right.Style = ExcelBorderStyle.Thin;
                range.Style.Border.Right.Color.SetColor(Color.Green);
                range.Style.Border.Bottom.Style = ExcelBorderStyle.Thin;
                range.Style.Border.Bottom.Color.SetColor(Color.Green);
            }
Run Code Online (Sandbox Code Playgroud)

最终输出将如下所示