2016-09-13 4 views
8

Ich versuche, die Zellenrahmenfarbe in einem ausgewählten Bereich zu ändern. Es wird keine andere Arten für Zellgrenzen außer für die Gewichte der Grenzen findet wie folgt:EPPlus Ändern der Rahmenfarbe der Zellen

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; 

Antwort

6

Wenn Sie möchten, ändern können geschickt Grenzfarben auf verschiedenen Teilen der Zellen können Sie es wie folgt tun:

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 jede Art von System.Drawing.Color nehmen.

+0

Vielen Dank, es funktioniert jetzt, klar, ich habe nicht darauf geachtet, dass es eine .color-Eigenschaft nach der dritten Eigenschaft gab. – Matteo

4

Sie die Grenze Stil und Farbe mit diesem Code

range.Style.Border.BorderAround(ExcelBorderStyle.Medium, System.Drawing.Color.Blue); 
+1

Dies funktioniert auch, aber ich brauchte eine Lösung, die Grenze zu allen Seiten pro Zelle als das, was Lösung diktiert Ernie hinzufügt. Danke trotzdem. – Matteo

1
  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

Verwandte Themen