【C#エクセル操作】ClosedXML – セルの背景色、枠線を設定

当ページのリンクには広告が含まれています。

スポンサーリンク

ClosedXMLを用いて セルの背景色、枠線を設定 する方法を解説します

クリックしてジャンプ

準備(usingの記述)

ClosedXMLを使うために書かなければいけない おまじない があります。

using ClosedXML.Excel; // ClosedXMLを使うためのおまじない
using ClosedXML.Excel.Drawings; // ClosedXMLを使うためのおまじない

おまじない を書く場所は プログラムの頭です。

※ NuGet による ClosedXMLライブラリ が追加してあることが前提です。

ライブラリの追加については こちら の記事を参考にしてください。

ClosedXMLライブラリ を追加してない状態で おまじないを書いたらエラーになります。

セルの背景色

C5セル塗りつぶし(色:XLColor.Aqua

// C5セルを塗りつぶし(R1C1形式でセル指定)
wb.Worksheet("sheet1").Cell(5, 3).Style.Fill.BackgroundColor = XLColor.Aqua;

C5セル塗りつぶし(色:XLColor.Aqua

// C5セルを塗りつぶし(A1形式でセル指定)
wb.Worksheet("sheet1").Cell("C5").Style.Fill.BackgroundColor = XLColor.Aqua;

E1~E100セルを塗りつぶし(色:XLColor.LightGreen

//E1~E100セルを塗りつぶし(R1C1形式でセル指定)
wb.Worksheet("sheet1").Range(1, 5, 100, 5).Style.Fill.BackgroundColor = XLColor.LightGreen;

カラー設定 一覧表

色をいくつかピックアップしてサンプル表を作成しました

スクロールできます
色の名称XLColorプリセットColorオブジェクトカラーコード
ブラックXLColor.BlackXLColor.FromColor(Color.FromArgb(0, 0, 0))XLColor.FromHtml("#000000")
ホワイトXLColor.WhiteXLColor.FromColor(Color.FromArgb(255, 255, 255))XLColor.FromHtml("#FFFFFF")
レッドXLColor.RedXLColor.FromColor(Color.FromArgb(255, 0, 0))XLColor.FromHtml("#FF0000")
ブルーXLColor.BlueXLColor.FromColor(Color.FromArgb(0, 0, 255))XLColor.FromHtml("#0000FF")
グリーンXLColor.GreenXLColor.FromColor(Color.FromArgb(0, 128, 0))XLColor.FromHtml("#008000")
イエローXLColor.YellowXLColor.FromColor(Color.FromArgb(255, 255, 0))XLColor.FromHtml("#FFFF00")
オレンジXLColor.OrangeXLColor.FromColor(Color.FromArgb(255, 165, 0))XLColor.FromHtml("#FFA500")
ピンクXLColor.PinkXLColor.FromColor(Color.FromArgb(255, 192, 203))XLColor.FromHtml("#FFC0CB")
ダークブルーXLColor.DarkBlueXLColor.FromColor(Color.FromArgb(0, 0, 139))XLColor.FromHtml("#00008B")
ライトブルーXLColor.LightBlueXLColor.FromColor(Color.FromArgb(173, 216, 230))XLColor.FromHtml("#ADD8E6")
グレーXLColor.GrayXLColor.FromColor(Color.FromArgb(128, 128, 128))XLColor.FromHtml("#808080")
ゴールドXLColor.GoldXLColor.FromColor(Color.FromArgb(255, 215, 0))XLColor.FromHtml("#FFD700")
パープルXLColor.PurpleXLColor.FromColor(Color.FromArgb(128, 0, 128))XLColor.FromHtml("#800080")
トマトXLColor.TomatoXLColor.FromColor(Color.FromArgb(255, 99, 71))XLColor.FromHtml("#FF6347")
チョコレートXLColor.ChocolateXLColor.FromColor(Color.FromArgb(210, 105, 30))XLColor.FromHtml("#D2691E")

XLColorクラスで直接アクセスできるプリセットの色、System.Drawing.Color オブジェクトから作成する方法、そしてHTMLカラーコードから作成する方法の3つの異なる設定手法を提供しています。

セルの枠線

C5セル上の枠線細い線に設定(R1C1形式でセル指定)

// C5セルの上の枠線を細い線で黒に設定(R1C1形式でセル指定)
wb.Worksheet("sheet1").Cell(5, 3).Style.Border.TopBorder = XLBorderStyleValues.Thin; // 枠線のスタイルを設定
wb.Worksheet("sheet1").Cell(5, 3).Style.Border.TopBorderColor = XLColor.Black; // 枠線の色を設定

C5セル下の枠線細い線に設定(R1C1形式でセル指定)

// C5セルの下の枠線を細い線で黒に設定(R1C1形式でセル指定)
wb.Worksheet("sheet1").Cell(5, 3).Style.Border.BottomBorder = XLBorderStyleValues.Thin;
wb.Worksheet("sheet1").Cell(5, 3).Style.Border.BottomBorderColor = XLColor.Black;

C5セル左の枠線細い線に設定(R1C1形式でセル指定)

// C5セルの左の枠線を細い線で黒に設定(R1C1形式でセル指定)
wb.Worksheet("sheet1").Cell(5, 3).Style.Border.LeftBorder = XLBorderStyleValues.Thin;
wb.Worksheet("sheet1").Cell(5, 3).Style.Border.LeftBorderColor = XLColor.Black;

C5セル右の枠線細い線に設定(R1C1形式でセル指定)

// C5セルの右の枠線を細い線で黒に設定(R1C1形式でセル指定)
wb.Worksheet("sheet1").Cell(5, 3).Style.Border.RightBorder = XLBorderStyleValues.Thin;
wb.Worksheet("sheet1").Cell(5, 3).Style.Border.RightBorderColor = XLColor.Black;

C5セル枠線をすべて細い線に設定(A1形式でセル指定)

// C5セルの枠線をすべて細い線で黒に設定(A1形式でセル指定)
wb.Worksheet("sheet1").Cell("C5").Style.Border.SetOutsideBorder(XLBorderStyleValues.Thin).SetOutsideBorderColor(XLColor.Black);

E1~E100セル範囲の外側の枠線細い線に設定(R1C1形式で範囲指定)

// E1~E100セル範囲の外側の枠線を細い線で黒に設定(R1C1形式で範囲指定)
wb.Worksheet("sheet1").Range(1, 5, 100, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; // 範囲全体の外側の枠線のスタイルを設定
wb.Worksheet("sheet1").Range(1, 5, 100, 5).Style.Border.OutsideBorderColor = XLColor.Black; // 範囲全体の外側の枠線の色を設定

セルの枠線パラメータ一覧表

スクロールできます
スタイルの名称XLBorderStyleValuesのパラメータ説明
無しNone枠線なし
細い実線Thin細い実線
中くらいの実線Medium中くらいの太さの実線
太い実線Thick太い実線
点線Dotted点線
細い点線Hair非常に細い点線
点線(太い)Dashed太い点線
二重線Double二重線
細い点線(2種)DashDot1点鎖線(細い点と線が交互に来る)
中点線(2種)MediumDashDot1点鎖線(中くらいの点と線が交互)

枠線の位置とプロパティの対応表(サンプルコード付き)

スクロールできます
位置プロパティ説明サンプルコード
TopBorder上側の枠線を設定するwb.Worksheet("sheet1").Cell("C5").Style.Border.TopBorder = XLBorderStyleValues.Thin;
BottomBorder下側の枠線を設定するwb.Worksheet("sheet1").Cell("C5").Style.Border.BottomBorder = XLBorderStyleValues.Thin;
LeftBorder左側の枠線を設定するwb.Worksheet("sheet1").Cell("C5").Style.Border.LeftBorder = XLBorderStyleValues.Thin;
RightBorder右側の枠線を設定するwb.Worksheet("sheet1").Cell("C5").Style.Border.RightBorder = XLBorderStyleValues.Thin;
外側全体OutsideBorder範囲の外側の枠線を一括で設定するwb.Worksheet("sheet1").Range(1, 5, 100, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
内側水平InsideBorder範囲の内側の水平枠線を一括で設定するwb.Worksheet("sheet1").Range(1, 5, 100, 5).Style.Border.InsideBorder = XLBorderStyleValues.Thin;
内側垂直InsideBorder範囲の内側の垂直枠線を一括で設定するwb.Worksheet("sheet1").Range(1, 5, 100, 5).Style.Border.InsideBorder = XLBorderStyleValues.Thin;
内側全体InsideBorder範囲の内側の枠線を一括で設定するwb.Worksheet("sheet1").Range(1, 5, 100, 5).Style.Border.InsideBorder = XLBorderStyleValues.Thin;
対角線DiagonalBorder対角線の枠線を設定するwb.Worksheet("sheet1").Cell("C5").Style.Border.DiagonalBorder = XLBorderStyleValues.Thin;
対角線(逆)DiagonalBorder逆方向の対角線の枠線を設定するwb.Worksheet("sheet1").Cell("C5").Style.Border.DiagonalBorder = XLBorderStyleValues.Thin;

スポンサーリンク

クリックしてジャンプ