officefileapi-12382-spreadsheet-document-api-examples-formatting-how-to-add-and-remove-cell-borders.md
To access and specify cell borders, use the Borders collection. To access this collection in an individual cell, use the Cell object’s Formatting.Borders property, which is inherited form the Formatting interface. To change the borders of a range of cells, call the CellRange.BeginUpdateFormatting method for this range, and use the Borders property of the returned Formatting object to access and modify the Borders collection. Then call the CellRange.EndUpdateFormatting method to finalize the modification.
Each border of a cell is accessed via the corresponding property of the Borders collection and represented by the Border object. This object provides the Border.LineStyle and Border.Color properties, allowing you to specify border line style and color, respectively. The BorderLineStyle enumerator lists the available line styles. The border color is defined by the Color value.
Tip
Set the corresponding border’s LineStyle property to BorderLineStyle.Thin to specify different border styles for neighboring cells. To set different settings for the top border of the “B6” cell, change the bottom border of the “B5” cell as follows:
var range = sheet.Range["B3:B5"];
range.Borders.BottomBorder.LineStyle = BorderLineStyle.Thin;
Dim range = sheet.Range("B3:B5")
range.Borders.BottomBorder.LineStyle = BorderLineStyle.Thin
Use the following properties and methods to specify each particular border of a cell or cell range, or set several borders at once (for example, all outside, inside, vertical or horizontal borders).
To share the same cell border settings between multiple cells in one step, create or modify a style with the Formatting.Borders property specified as required, and assign this style to CellRange.Style for the desired cells.
This example demonstrates how to specify different borders for individual cells and ranges of cells by modifying the Borders object.
Worksheet worksheet = workbook.Worksheets[0];
// Set each particular border for the cell.
Cell cellB2 = worksheet.Cells["B2"];
Borders cellB2Borders = cellB2.Borders;
cellB2Borders.LeftBorder.LineStyle = BorderLineStyle.MediumDashDot;
cellB2Borders.LeftBorder.Color = Color.Pink;
cellB2Borders.TopBorder.LineStyle = BorderLineStyle.MediumDashDotDot;
cellB2Borders.TopBorder.Color = Color.HotPink;
cellB2Borders.RightBorder.LineStyle = BorderLineStyle.MediumDashed;
cellB2Borders.RightBorder.Color = Color.DeepPink;
cellB2Borders.BottomBorder.LineStyle = BorderLineStyle.Medium;
cellB2Borders.BottomBorder.Color = Color.Red;
cellB2Borders.DiagonalBorderType = DiagonalBorderType.Up;
cellB2Borders.DiagonalBorderLineStyle = BorderLineStyle.Thick;
cellB2Borders.DiagonalBorderColor = Color.Red;
// Set diagonal borders for the cell.
Cell cellC4 = worksheet.Cells["C4"];
Borders cellC4Borders = cellC4.Borders;
cellC4Borders.SetDiagonalBorders(Color.Orange, BorderLineStyle.Double, DiagonalBorderType.UpAndDown);
// Set all outside borders for the cell in one step.
Cell cellD6 = worksheet.Cells["D6"];
cellD6.Borders.SetOutsideBorders(Color.Gold, BorderLineStyle.Double);
// Set all borders for the range of cells in one step.
CellRange range1 = worksheet.Range["B8:F13"];
range1.Borders.SetAllBorders(Color.Green, BorderLineStyle.Double);
// Set all inside and outside borders separately for the range of cells.
CellRange range2 = worksheet.Range["C15:F18"];
range2.SetInsideBorders(Color.SkyBlue, BorderLineStyle.MediumDashed);
range2.Borders.SetOutsideBorders(Color.DeepSkyBlue, BorderLineStyle.Medium);
// Set all horizontal and vertical borders separately for the range of cells.
CellRange range3 = worksheet.Range["D21:F23"];
Formatting range3Formatting = range3.BeginUpdateFormatting();
Borders range3Borders = range3Formatting.Borders;
range3Borders.InsideHorizontalBorders.LineStyle = BorderLineStyle.MediumDashDot;
range3Borders.InsideHorizontalBorders.Color = Color.DarkBlue;
range3Borders.InsideVerticalBorders.LineStyle = BorderLineStyle.MediumDashDotDot;
range3Borders.InsideVerticalBorders.Color = Color.Blue;
range3.EndUpdateFormatting(range3Formatting);
// Set each particular border for the range of cell.
CellRange range4 = worksheet.Range["E25:F26"];
Formatting range4Formatting = range4.BeginUpdateFormatting();
Borders range4Borders = range4Formatting.Borders;
range4Borders.SetOutsideBorders(Color.Black, BorderLineStyle.Thick);
range4Borders.LeftBorder.Color = Color.Violet;
range4Borders.TopBorder.Color = Color.Violet;
range4Borders.RightBorder.Color = Color.DarkViolet;
range4Borders.BottomBorder.Color = Color.DarkViolet;
range4Borders.DiagonalBorderType = DiagonalBorderType.UpAndDown;
range4Borders.DiagonalBorderLineStyle = BorderLineStyle.MediumDashed;
range4Borders.DiagonalBorderColor = Color.BlueViolet;
range4.EndUpdateFormatting(range4Formatting);
Dim worksheet As Worksheet = workbook.Worksheets(0)
' Set each particular border for the cell.
Dim cellB2 As Cell = worksheet.Cells("B2")
Dim cellB2Borders As Borders = cellB2.Borders
cellB2Borders.LeftBorder.LineStyle = BorderLineStyle.MediumDashDot
cellB2Borders.LeftBorder.Color = Color.Pink
cellB2Borders.TopBorder.LineStyle = BorderLineStyle.MediumDashDotDot
cellB2Borders.TopBorder.Color = Color.HotPink
cellB2Borders.RightBorder.LineStyle = BorderLineStyle.MediumDashed
cellB2Borders.RightBorder.Color = Color.DeepPink
cellB2Borders.BottomBorder.LineStyle = BorderLineStyle.Medium
cellB2Borders.BottomBorder.Color = Color.Red
cellB2Borders.DiagonalBorderType = DiagonalBorderType.Up
cellB2Borders.DiagonalBorderLineStyle = BorderLineStyle.Thick
cellB2Borders.DiagonalBorderColor = Color.Red
' Set diagonal borders for the cell.
Dim cellC4 As Cell = worksheet.Cells("C4")
Dim cellC4Borders As Borders = cellC4.Borders
cellC4Borders.SetDiagonalBorders(Color.Orange, BorderLineStyle.Double, DiagonalBorderType.UpAndDown)
' Set all outside borders for the cell in one step.
Dim cellD6 As Cell = worksheet.Cells("D6")
cellD6.Borders.SetOutsideBorders(Color.Gold, BorderLineStyle.Double)
' Set all borders for the range of cells in one step.
Dim range1 As CellRange = worksheet.Range("B8:F13")
range1.Borders.SetAllBorders(Color.Green, BorderLineStyle.Double)
' Set all inside and outside borders separately for the range of cells.
Dim range2 As CellRange = worksheet.Range("C15:F18")
range2.SetInsideBorders(Color.SkyBlue, BorderLineStyle.MediumDashed)
range2.Borders.SetOutsideBorders(Color.DeepSkyBlue, BorderLineStyle.Medium)
' Set all horizontal and vertical borders separately for the range of cells.
Dim range3 As CellRange = worksheet.Range("D21:F23")
Dim range3Formatting As Formatting = range3.BeginUpdateFormatting()
Dim range3Borders As Borders = range3Formatting.Borders
range3Borders.InsideHorizontalBorders.LineStyle = BorderLineStyle.MediumDashDot
range3Borders.InsideHorizontalBorders.Color = Color.DarkBlue
range3Borders.InsideVerticalBorders.LineStyle = BorderLineStyle.MediumDashDotDot
range3Borders.InsideVerticalBorders.Color = Color.Blue
range3.EndUpdateFormatting(range3Formatting)
' Set each particular border for the range of cell.
Dim range4 As CellRange = worksheet.Range("E25:F26")
Dim range4Formatting As Formatting = range4.BeginUpdateFormatting()
Dim range4Borders As Borders = range4Formatting.Borders
range4Borders.SetOutsideBorders(Color.Black, BorderLineStyle.Thick)
range4Borders.LeftBorder.Color = Color.Violet
range4Borders.TopBorder.Color = Color.Violet
range4Borders.RightBorder.Color = Color.DarkViolet
range4Borders.BottomBorder.Color = Color.DarkViolet
range4Borders.DiagonalBorderType = DiagonalBorderType.UpAndDown
range4Borders.DiagonalBorderLineStyle = BorderLineStyle.MediumDashed
range4Borders.DiagonalBorderColor = Color.BlueViolet
range4.EndUpdateFormatting(range4Formatting)
The image below shows which borders are applied to cells after executing the code above (the workbook is opened in Microsoft® Excel®).