2016-09-13 14 views
8

選択した範囲のセルの境界線の色を変更しようとしています。次のように国境の重み以外のセルの枠線のための任意の他のスタイルを見つけることができませんでした: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; 

答えて

6

を使用して境界線のスタイルや色を変更することができますあなたはこのようにそれを行うことができ、細胞の異なる部分に境界線の色を送っ:

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

SetColorSystem.Drawing.Colorの任意の種類を取ることができます。

+0

ありがとう、その作業は今、私は3番目のプロパティの後に.colorプロパティがあったことに注意を払っていませんでした。 – Matteo

4

あなたがしたい場合は、このコード

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

これは、あまりにも動作しますが、私はアーニーのソリューションを指示するものとして、セルあたりのすべての側面に境界線を追加するソリューションが必要でした。とにかくありがとう。 – 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

関連する問題