MENU

スポンサーリンク

【C#エクセル操作】ClosedXML – セル内の配置設定、結合(マージ)

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

スポンサーリンク

ClosedXMLを用いて セル内の配置を設定、結合(マージ) する方法を解説します

クリックしてジャンプ

準備(usingの記述)

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

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

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

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

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

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

セル内の配置

C5セル水平方向配置を中央に設定する場合以下のように書けます

// C5セルの水平方向の配置を中央に設定
wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;

配置オプションの一覧表(サンプルコード付き)

スクロールできます
配置オプション説明サンプルコード
水平方向の配置
設定一覧
セル内のテキストの水平方向の位置wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
垂直方向の配置
設定一覧
セル内のテキストの垂直方向の位置wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
テキストの折り返しテキストをセル内で折り返すwb.Worksheet("sheet1").Cell("C5").Style.Alignment.WrapText = true;
縮小して表示テキストを縮小してセルに収めるwb.Worksheet("sheet1").Cell("C5").Style.Alignment.ShrinkToFit = true;
インデントテキストのインデントを設定wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Indent = 2;
テキストの回転テキストの角度を設定wb.Worksheet("sheet1").Cell("C5").Style.Alignment.TextRotation = 45;
改行テキストで改行を行うwb.Worksheet("sheet1").Cell("C5").Style.Alignment.JustifyLastLine = true;

水平方向の配置設定一覧

スクロールできます
オプション説明サンプルコード
Generalデフォルトの配置。内容に基づいて自動的に配置されます。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.General;
Leftテキストを左揃えにします。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
Centerテキストを中央揃えにします。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
Rightテキストを右揃えにします。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right;
Fillセルを埋めるようにテキストを繰り返します。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Fill;
Justifyテキストを両端揃えにし、単語の間隔を調整します。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Justify;
CenterContinuous中央揃えですが、隣接する空白セルにまたがって中央揃えが継続されます。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.CenterContinuous;
Distributedテキストを均等に分散させ、両端を揃えます。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Distributed;
配置オプション一覧表へ 戻る

垂直方向の配置設定一覧

スクロールできます
オプション説明サンプルコード
Topテキストを上揃えにします。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Top;
Centerテキストを中央揃えにします。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
Bottomテキストを下揃えにします。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Bottom;
Justifyテキストをセル内で垂直に均等に分散させます。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Justify;
Distributedテキストとセルの上下の余白を均等に分散させます。wb.Worksheet("sheet1").Cell("C5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Distributed;
配置オプション一覧表へ 戻る

セル結合(マージ)

A1からB2までの範囲を結合(マージ)するサンプルコード

.Merge();結合(マージ)しています

using (var wb = new XLWorkbook(@"C:\新しいフォルダー\エクセルブック.xlsx"))
{
  // A1からB2までの範囲をマージ(例:2x2のセル範囲)
  wb.Worksheet("sheet1").Range("A1:B2").Merge();

  // 上書き保存
    wb.Save();
}

セル結合解除(アンマージ)

A1からB2までの範囲のセルを結合解除(アンマージ)するサンプルコード

.Unmerge();結合解除(アンマージ)しています

using (var wb = new XLWorkbook(@"C:\新しいフォルダー\エクセルブック.xlsx"))
{
    // "sheet1" という名前のワークシート内のマージされた範囲を解除
    // ここでは例として、A1からB2までの範囲がマージされていると仮定
    wb.Worksheet("sheet1").Range("A1:B2").Unmerge();

    // 上書き保存
    wb.Save();
}

スポンサーリンク

クリックしてジャンプ