【C#エクセル操作】ClosedXML – セルの背景色、枠線を設定
当ページのリンクには広告が含まれています。
ClosedXMLを用いて セルの背景色、枠線を設定 する方法を解説します
クリックしてジャンプ
準備(usingの記述)
ClosedXMLを使うために書かなければいけない おまじない があります。
using ClosedXML.Excel; // ClosedXMLを使うためのおまじない
using ClosedXML.Excel.Drawings; // ClosedXMLを使うためのおまじない
おまじない を書く場所は プログラムの頭です。
※ NuGet による ClosedXMLライブラリ が追加してあることが前提です。
ライブラリの追加については こちら の記事を参考にしてください。
【C#エクセル】ClosedXML インストール方法
C#プログラミングでエクセルを開かずに操作するためのライブラリ 「ClosedXML」について 簡単な説明と、インストール方法 を解説します ※ 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.Black | XLColor.FromColor(Color.FromArgb(0, 0, 0)) | XLColor.FromHtml("#000000") |
ホワイト | XLColor.White | XLColor.FromColor(Color.FromArgb(255, 255, 255)) | XLColor.FromHtml("#FFFFFF") |
レッド | XLColor.Red | XLColor.FromColor(Color.FromArgb(255, 0, 0)) | XLColor.FromHtml("#FF0000") |
ブルー | XLColor.Blue | XLColor.FromColor(Color.FromArgb(0, 0, 255)) | XLColor.FromHtml("#0000FF") |
グリーン | XLColor.Green | XLColor.FromColor(Color.FromArgb(0, 128, 0)) | XLColor.FromHtml("#008000") |
イエロー | XLColor.Yellow | XLColor.FromColor(Color.FromArgb(255, 255, 0)) | XLColor.FromHtml("#FFFF00") |
オレンジ | XLColor.Orange | XLColor.FromColor(Color.FromArgb(255, 165, 0)) | XLColor.FromHtml("#FFA500") |
ピンク | XLColor.Pink | XLColor.FromColor(Color.FromArgb(255, 192, 203)) | XLColor.FromHtml("#FFC0CB") |
ダークブルー | XLColor.DarkBlue | XLColor.FromColor(Color.FromArgb(0, 0, 139)) | XLColor.FromHtml("#00008B") |
ライトブルー | XLColor.LightBlue | XLColor.FromColor(Color.FromArgb(173, 216, 230)) | XLColor.FromHtml("#ADD8E6") |
グレー | XLColor.Gray | XLColor.FromColor(Color.FromArgb(128, 128, 128)) | XLColor.FromHtml("#808080") |
ゴールド | XLColor.Gold | XLColor.FromColor(Color.FromArgb(255, 215, 0)) | XLColor.FromHtml("#FFD700") |
パープル | XLColor.Purple | XLColor.FromColor(Color.FromArgb(128, 0, 128)) | XLColor.FromHtml("#800080") |
トマト | XLColor.Tomato | XLColor.FromColor(Color.FromArgb(255, 99, 71)) | XLColor.FromHtml("#FF6347") |
チョコレート | XLColor.Chocolate | XLColor.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種) | DashDot | 1点鎖線(細い点と線が交互に来る) |
中点線(2種) | MediumDashDot | 1点鎖線(中くらいの点と線が交互) |
枠線の位置とプロパティの対応表(サンプルコード付き)
スクロールできます
位置 | プロパティ | 説明 | サンプルコード |
---|---|---|---|
上 | 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; |