EPPlus更改单元格边框颜色

14

我正在尝试更改所选范围内单元格的边框颜色。除了边框宽度之外,我找不到其他单元格边框样式:

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;
3个回答

18

如果你想在单元格的不同部分设置边框颜色,可以像这样操作:

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);

SetColor 可以接受任何类型的 System.Drawing.Color


非常感谢,现在它可以工作了,显然我没有注意到第三个属性后面有一个.color属性。 - Matteo

8
您可以使用以下代码更改边框样式和颜色。
range.Style.Border.BorderAround(ExcelBorderStyle.Medium, System.Drawing.Color.Blue);

2
这也可以,但我需要一种按单元格添加所有边框的解决方案,就像Ernie的解决方案所规定的那样。无论如何感谢。 - Matteo

6
            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);
            }

The final output will come as shown here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接