Excelでセルの枠線と配置を設定する方法 | IronXL

IronXL を使用した C# でのセルの境界線と配置の設定方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

Using IronXL, you can apply types such as MediumDashed to cell borders and configuration properties such as HorizontalAlignment.Center directly to worksheet cells without relying on Microsoft Interop. You can also set cell borders and text alignment in C# Excel files.

Excelにおいて、セルの境界線とは、個々のセルまたはセルのグループに適用できる線や枠を指します。一方、テキストの配置とは、セル内のテキストを縦方向および横方向に配置することを指します。 IronXLは、Excelのセルスタイルを操作するための包括的なAPIを提供しており、これらの視覚的要素をプログラムで精密に制御することができます。

クイックスタート:1回の呼び出しでセルの境界線を設定し、テキストを中央揃えにする

2行以内に収め、片側に枠線を適用し、テキストを水平方向に中央揃えにしてください。 Interopによるオーバーヘッドなしに、すぐに使い始めることができます。

  1. IronXL をNuGetパッケージマネージャでインストール

    PM > Install-Package IronXL.Excel
  2. このコード スニペットをコピーして実行します。

    workSheet["B2"].Style.LeftBorder.Type = IronXl.Styles.BorderType.MediumDashed;
    workSheet["B2"].Style.HorizontalAlignment = IronXl.Styles.HorizontalAlignment.Center;
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronXL を使い始めましょう無料トライアル

    arrow pointer


IronXL を今すぐ使い始めましょう


基本的な例で、セルの境界線とテキストの配置を設定するにはどうすればよいですか?

BottomBorder、および LeftBorder プロパティを使用して境界線を追加し、選択したセル、列、行、または範囲の外観をカスタマイズします。 [BorderType] 列挙型で利用可能なさまざまなスタイルから選択してください。 利用可能なすべての枠線タイプを確認し、最適なものを見つけてください。

IronXl.Styles.BorderType HorizontalAlignment VerticalAlignment IronXl.Styles.HorizontalAlignment IronXl.Styles.VerticalAlignment

テキストの位置を正確に揃えるには、VerticalAlignment]プロパティを調整し、希望するレイアウトを実現してください。 希望する配置を設定するには、[HorizontalAlignment] および [VerticalAlignment] 列挙型を使用してください。 利用可能なすべてのアライメントタイプを確認し、データを完璧に表現しましょう。 このアプローチは、書式の一貫性が求められるProfessionalなスプレッドシートを作成する際に特に有用です。

枠線や配置を設定する前に、Excel ワークブックが正しく読み込まれていることを確認してください。 以下は、基本的な枠線と配置の設定を示す完全な例です:

:path=/static-assets/excel/content-code-examples/how-to/border-alignment-set-border-alignment.cs
using IronXL;
using IronXL.Styles;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

workSheet["B2"].Value = "B2";

// Set cell border
workSheet["B2"].Style.LeftBorder.Type = BorderType.MediumDashed;
workSheet["B2"].Style.RightBorder.Type = BorderType.MediumDashed;

// Set text alignment
workSheet["B2"].Style.HorizontalAlignment = HorizontalAlignment.Center;

workBook.SaveAs("setBorderAndAlignment.xlsx");
Imports IronXL
Imports IronXL.Styles

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

Private workSheet("B2").Value = "B2"

' Set cell border
Private workSheet("B2").Style.LeftBorder.Type = BorderType.MediumDashed
Private workSheet("B2").Style.RightBorder.Type = BorderType.MediumDashed

' Set text alignment
Private workSheet("B2").Style.HorizontalAlignment = HorizontalAlignment.Center

workBook.SaveAs("setBorderAndAlignment.xlsx")
$vbLabelText   $csharpLabel
点線の枠線が適用されたスプレッドシートのセルB2。Excelスタイルのグリッドにおける枠線の書式設定結果を示しています。

利用可能な高度な枠線および配置オプションにはどのようなものがありますか?

境界線の色をカスタマイズするにはどうすればよいですか?

デフォルトでは、境界線の色は黒ですが、Colorクラスで利用可能な任意の色にカスタマイズしたり、16進数のカラーコードを使用したりすることができます。 境界線の色を設定するには、[Color] プロパティに希望の色または 16 進数コードを指定してください。 さらに、[Color] プロパティを使用すると、境界線の色を取得できます。 この柔軟性は、セルの背景色を設定できる仕組みと似ています。

ご注意境界線の色のみを設定しても、境界線の種類が利用可能な種類のいずれかに設定されていない限り、効果は表示されません。

境界線の色のカスタマイズは、他のセル書式設定機能とシームレスに連携します。 条件付き書式設定と組み合わせることで、スプレッドシート内の重要なデータパターンをユーザーが素早く識別できる動的な視覚的ヒントを作成できます。

:path=/static-assets/excel/content-code-examples/how-to/border-alignment-set-border-color.cs
using IronXL;
using IronXL.Styles;
using IronSoftware.Drawing;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

workSheet["B2"].Style.LeftBorder.Type = BorderType.Thick;
workSheet["B2"].Style.RightBorder.Type = BorderType.Thick;

// Set cell border color
workSheet["B2"].Style.LeftBorder.SetColor(Color.Aquamarine);
workSheet["B2"].Style.RightBorder.SetColor("#FF7F50");

workBook.SaveAs("setBorderColor.xlsx");
Imports IronXL
Imports IronXL.Styles
Imports IronSoftware.Drawing

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

Private workSheet("B2").Style.LeftBorder.Type = BorderType.Thick
Private workSheet("B2").Style.RightBorder.Type = BorderType.Thick

' Set cell border color
workSheet("B2").Style.LeftBorder.SetColor(Color.Aquamarine)
workSheet("B2").Style.RightBorder.SetColor("#FF7F50")

workBook.SaveAs("setBorderColor.xlsx")
$vbLabelText   $csharpLabel
セルB2の左枠を緑色、セルC2の右枠をオレンジ色に設定し、枠線の色を示したスプレッドシート

どの境界線の位置やパターンを適用できますか?

合計で6つの境界線位置があり、それぞれが様々なパターンやタイプを提供します。これらの位置には、上、右、下、左に加え、前方、後方、および両方向へ伸びる斜めの線が含まれます。 この包括的なオプションセットを使用することで、セル結合を使用する場合と同様の複雑な視覚的レイアウトを作成できますが、より柔軟性が高くなります。

斜めの境界線を使用する際は、それらがセルの内容や配置設定とどのように相互作用するかを理解してください。 斜めの境界線は、Excelレポートでヘッダーセクションや視覚的な区切り線を作成する際に特に役立ちます。

:path=/static-assets/excel/content-code-examples/how-to/border-alignment-set-border-line.cs
using IronXL;
using IronXL.Styles;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

workSheet["B2"].StringValue = "Top";
workSheet["B4"].StringValue = "Forward";

// Set top border line
workSheet["B2"].Style.TopBorder.Type = BorderType.Thick;

// Set diagonal border line
workSheet["B4"].Style.DiagonalBorder.Type = BorderType.Thick;
// Set diagonal border direction
workSheet["B4"].Style.DiagonalBorderDirection = DiagonalBorderDirection.Forward;

workBook.SaveAs("borderLines.xlsx");
Imports IronXL
Imports IronXL.Styles

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

Private workSheet("B2").StringValue = "Top"
Private workSheet("B4").StringValue = "Forward"

' Set top border line
Private workSheet("B2").Style.TopBorder.Type = BorderType.Thick

' Set diagonal border line
Private workSheet("B4").Style.DiagonalBorder.Type = BorderType.Thick
' Set diagonal border direction
Private workSheet("B4").Style.DiagonalBorderDirection = DiagonalBorderDirection.Forward

workBook.SaveAs("borderLines.xlsx")
$vbLabelText   $csharpLabel

より複雑な境界線の処理が必要な場合は、複数のセルや範囲に一貫した境界線スタイルを適用する再利用可能な関数を作成することを検討してください:

void ApplyUniformBorder(WorkSheet sheet, string range, BorderType borderType, Color borderColor)
{
    var cells = sheet[range];

    // Apply borders to all sides
    cells.Style.TopBorder.Type = borderType;
    cells.Style.RightBorder.Type = borderType;
    cells.Style.BottomBorder.Type = borderType;
    cells.Style.LeftBorder.Type = borderType;

    // Apply color to all borders
    cells.Style.TopBorder.SetColor(borderColor);
    cells.Style.RightBorder.SetColor(borderColor);
    cells.Style.BottomBorder.SetColor(borderColor);
    cells.Style.LeftBorder.SetColor(borderColor);
}

// Usage example
ApplyUniformBorder(workSheet, "A1:D4", BorderType.Thin, Color.Black);
void ApplyUniformBorder(WorkSheet sheet, string range, BorderType borderType, Color borderColor)
{
    var cells = sheet[range];

    // Apply borders to all sides
    cells.Style.TopBorder.Type = borderType;
    cells.Style.RightBorder.Type = borderType;
    cells.Style.BottomBorder.Type = borderType;
    cells.Style.LeftBorder.Type = borderType;

    // Apply color to all borders
    cells.Style.TopBorder.SetColor(borderColor);
    cells.Style.RightBorder.SetColor(borderColor);
    cells.Style.BottomBorder.SetColor(borderColor);
    cells.Style.LeftBorder.SetColor(borderColor);
}

// Usage example
ApplyUniformBorder(workSheet, "A1:D4", BorderType.Thin, Color.Black);
Option Strict On



Sub ApplyUniformBorder(sheet As WorkSheet, range As String, borderType As BorderType, borderColor As Color)
    Dim cells = sheet(range)

    ' Apply borders to all sides
    cells.Style.TopBorder.Type = borderType
    cells.Style.RightBorder.Type = borderType
    cells.Style.BottomBorder.Type = borderType
    cells.Style.LeftBorder.Type = borderType

    ' Apply color to all borders
    cells.Style.TopBorder.SetColor(borderColor)
    cells.Style.RightBorder.SetColor(borderColor)
    cells.Style.BottomBorder.SetColor(borderColor)
    cells.Style.LeftBorder.SetColor(borderColor)
End Sub

' Usage example
ApplyUniformBorder(workSheet, "A1:D4", BorderType.Thin, Color.Black)
$vbLabelText   $csharpLabel

境界線

Excelの枠線スタイルのデモ。上、右、下、左の枠線と、対角線の方向(なし、前方、後方)を示しています。

ボーダーパターン

Border Types related to ボーダーパターン

どのようなテキスト配置オプションがサポートされていますか?

IronXLのテキスト配置機能により、セル内でのコンテンツの配置方法を詳細に制御できます。 この機能は、視覚的な一貫性を維持することが極めて重要な、異なる形式へのデータエクスポートにおいて特に重要です。 この配置機能は、フォントスタイルなどの他の書式設定機能と連携して、Professionalな外観のスプレッドシートを作成します。

Color Color

HorizontalAlignment 列挙型

  • General: 標準的な水平方向の配置。 テキストデータは左揃えです。 数値、日付、時刻は右揃えにします。 ブール型は中央揃えです。 配置を変更しても、データ型には影響しません。 これは、特定の配置が設定されていない場合のデフォルトの配置です。
  • Left: 右から左(RTL)モードでも、左揃えの水平配置を維持します。 セルの左端にコンテンツを揃えます。 インデント量が指定されている場合、セルの内容は左側から指定された文字数分だけインデントされます。
  • Center: 中央揃えの水平配置。 テキストはセル内で中央揃えになっています。 これは、ヘッダーやタイトルによく使用されます。
  • Right: 右揃えの水平配置。 セルの内容は、右から左(RTL)モードであっても、セルの右端に揃えられます。 これは通常、数値データの表示に使用されます。
  • Fill: セルの値が幅いっぱいに表示されます。 右隣のセルも同様の塗りつぶし設定になっている場合、それらのセルも塗りつぶされます。 追加のルール:
    • 追加できるのは値全体のみであり、部分的な値は追加できません。
    • 入力値に合わせて列幅が"最適化"されることはありません。
    • 値を追加した際に、セルの左右の端を超える場合は、追加されません。
    • セルに表示される値が入力されるものであり、その背後にある生の数値が入力されるわけではありません。
  • Justify: 両端揃え(左右揃え)の水平配置。 セルにテキストの折り返しを適用し、各行の最初の単語がセルの左端に、最後の単語が右端に揃うようにします(最終行を除く)。 これは、段落を含むテキスト量の多いセルにおいて特に有用です。
  • CenterSelection: 左端のセルの内容を、複数のセルにわたって水平方向に中央揃えにします。 見た目はセルの結合に似ていますが、実際には結合は行われません。 このオプションを使用することで、セルの結合に起因する潜在的な問題を未然に防ぐことができます。
  • Distributed: セル内の各行のテキストは、左右の余白を揃え、セル幅全体に均等に配置されています。 インデント値を適用する場合、セルの左右両側にそのインデント値分の余白が追加されます。

VerticalAlignment 列挙型

  • None: デフォルトの配置。通常、下揃えの挙動となります。
  • Top: セルの上部にコンテンツを揃えます。 コンテンツの高さが異なるセルに便利です。
  • Center: セル内のコンテンツを垂直方向に中央揃えにします。 これにより、特に水平中央揃えと組み合わせた際に、バランスの取れた外観が実現されます。
  • Bottom: セルの下部にコンテンツを揃えます。 これは、ほとんどの表計算アプリケーションにおける標準的な動作です。
  • Justify: テキスト行をセルの高さに均等に配置し、上下の余白を揃えます。 テキストを折り返し、行間のスペースを調整して行全体の高さを埋めることで、水平方向の揃えと同様に機能します。
  • Distributed: テキストの各行にある"WORD"をセルの高さに均等に配置し、水平方向のテキストでは上下の余白を揃えます。 縦書きの場合、テキストは横書きの均等配置と全く同じように動作し、行が上から下へ均等に配置されます。

アラインメント設定を扱う際は、他のセルプロパティとの相互作用を考慮してください。 たとえば、行と列のサイズを自動調整する場合、配置設定によって、自動的にサイズ調整されたセル内にコンテンツがどのように収まるかが決まります。 同様に、数式を扱う際も、適切な配置を行うことで、スプレッドシート上の計算結果の可読性とProfessionalな印象を高めることができます。

よくある質問

Microsoft Officeを使わずに、C#でExcelのセルに枠線を追加するにはどうすればよいですか?

IronXLのStyle APIを使ってエクセルのセルに枠線を追加することができます。セルのStyleプロパティにアクセスし、LeftBorder.Type、RightBorder.Type、TopBorder.Type、BottomBorder.Typeなどのプロパティを使用してMediumDashedなどのボーダータイプを設定するだけです。IronXLはMicrosoft OfficeやInteropに依存することなく独立して動作します。

C#でExcelのセルに使用できる枠線のスタイルを教えてください。

IronXLはIronXl.Styles.BorderType列挙型を通して、MediumDashed、Thin、Thick、Doubleなどのオプションを含む様々なボーダースタイルを提供します。これらのスタイルをセルの任意の辺(上、右、下、左)に適用して、プロフェッショナルな見栄えのするスプレッドシートを作成できます。

Excelのセル内のテキストをプログラムで中央揃えにする方法を教えてください。

IronXLを使用してExcelセルのテキストを中央揃えにするには、Style.HorizontalAlignmentプロパティをIronXl.Styles.HorizontalAlignment.Centerに設定します。また、VerticalAlignmentプロパティを使用して垂直方向の配置を制御し、テキストの位置を完全に制御することもできます。

複数のセルに枠線と配置を一度に適用できますか?

はい、IronXLでは範囲全体、列全体、行全体にボーダーとアライメントを適用することができます。必要な範囲を選択し、スタイル・プロパティを適用するだけで、複数のセルを同時にフォーマットすることができます。

C#でExcelのセルに枠線の色を設定するには?

IronXLでは、定義済みのカラータイプまたはカスタムのHexカラーコードを使用してボーダーカラーを設定することができます。Styleオブジェクトを通してボーダー・カラー・プロパティにアクセスし、セルのボーダーの外観をカスタマイズしてください。

ボーダーを追加し、テキストを中央に配置するために必要な最小限のコードは何ですか?

workSheet["B2"].Style.LeftBorder.Type=IronXl.Styles.BorderType.MediumDashed;とworkSheet["B2"].Style.HorizontalAlignment=IronXl.Styles.HorizontalAlignment.Center;の2行だけで、IronXLを使用して、ボーダーを追加し、テキストを中央に配置することができます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 2,052,917 | バージョン: 2026.6 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronXL.Excel
サンプルを実行する あなたのデータがスプレッドシートになるのを見る。