【C#エクセル操作】ClosedXML – セル内の配置設定、結合(マージ)
当ページのリンクには広告が含まれています。
ClosedXMLを用いて セル内の配置を設定、結合(マージ) する方法を解説します
クリックしてジャンプ
準備(usingの記述)
ClosedXMLを使うために書かなければいけない おまじない があります。
using ClosedXML.Excel; // ClosedXMLを使うためのおまじない
using ClosedXML.Excel.Drawings; // ClosedXMLを使うためのおまじない
おまじない を書く場所は プログラムの頭です。
※ NuGet による ClosedXMLライブラリ が追加してあることが前提です。
ライブラリの追加については こちら の記事を参考にしてください。
【C#エクセル】ClosedXML インストール方法
C#プログラミングでエクセルを開かずに操作するためのライブラリ 「ClosedXML」について 簡単な説明と、インストール方法 を解説します ※ 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();
}