0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C#でExcelのセルとワークシートの背景を設定する方法(.NET)

Posted at

Excelドキュメントの設計やビジュアル調整において、セルやワークシートの背景を設定することは、視覚的な訴求力を高め、データの構造や論理性を際立たせる上で非常に有効です。プログラムで背景色・パターン・グラデーションの設定や、ワークシート全体に背景画像を適用することで、スタイルの統一や企業テンプレートの自動化が可能になります。

本記事では、.NET環境でC#を用いてExcelセルとワークシートの背景を設定する方法を、サンプルコード付きで詳しく解説します。

対応内容

  • C#でExcelセルの背景を設定(単色 / パターン / グラデーション)
    • 単色背景の設定
    • パターン背景の設定
    • グラデーション背景の設定
  • C#でExcelワークシートに背景画像を設定

使用ライブラリは、無料で利用可能な Free Spire.XLS for .NET です。NuGetから簡単にインストールできます。Install-Package FreeSpire.XLS


C#でExcelセルの背景色を設定する

Spire.XLSライブラリの CellRange.Style プロパティを使えば、セルまたはセル範囲に対して背景色やパターン、グラデーションを自由に設定できます。

1. 単色背景を設定する

CellRange.Style.ColorCellRange.Style.FillPattern を使って、セルの背景を単色に設定できます。

コード例:

using Spire.Xls;
using System.Drawing;

Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];

CellRange cell = sheet.Range["B2"];
cell.Text = "単色背景";
cell.RowHeight = 30f;
cell.ColumnWidth = 20f;

cell.Style.FillPattern = ExcelPatternType.Solid;
cell.Style.Color = Color.LightGreen;

workbook.SaveToFile("output/CellSolidColor.xlsx", ExcelVersion.Version2016);
workbook.Dispose();

出力結果:
C#でExcelセルに単色背景を設定


2. パターン背景を設定する

Spire.XLSでは、点線・グレースケール・レンガ模様など、さまざまな内蔵パターンを利用できます。
FillPatternColor(背景色)、PatternColor(パターン色)を組み合わせて設定します。

コード例:

using Spire.Xls;
using System.Drawing;

Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];

CellRange cell = sheet.Range["B2"];
cell.Text = "パターン背景";
cell.RowHeight = 30f;
cell.ColumnWidth = 20f;

cell.Style.FillPattern = ExcelPatternType.Angle;
cell.Style.Color = Color.LightGray;      // 背景色
cell.Style.PatternColor = Color.Beige;   // パターン色

workbook.SaveToFile("output/CellPattern.xlsx", ExcelVersion.Version2016);
workbook.Dispose();

出力結果:
C#でExcelセルにパターン背景を設定


3. グラデーション背景を設定する

グラデーション背景は、FillPatternGradientに設定し、さらに Interior.Gradient.ForeColorBackColor を指定します。

コード例:

using Spire.Xls;
using System.Drawing;

Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];

CellRange cell = sheet.Range["B2"];
cell.Text = "グラデーション背景";
cell.RowHeight = 30f;
cell.ColumnWidth = 20f;

cell.Style.FillPattern = ExcelPatternType.Gradient;
cell.Style.Interior.Gradient.BackColor = Color.Pink;
cell.Style.Interior.Gradient.ForeColor = Color.Beige;

workbook.SaveToFile("output/GradientFillColor.xlsx", ExcelVersion.Version2016);
workbook.Dispose();

出力結果:
C#でExcelセルにグラデーション背景を設定


C#でExcelワークシートに背景画像を設定する

セル単位の設定に加えて、ワークシート全体に背景画像を挿入することもできます。
これは、透かし文字やロゴマークの挿入など、ブランディングや視覚強調に最適です。

手順概要:

  1. Workbook オブジェクトを作成し、ワークシートを読み込む
  2. Worksheet.PageSetup.BackgoundImage を使って背景画像を設定
  3. Excelファイルを保存

コード例:

using Spire.Xls;
using System.Drawing;

Workbook workbook = new Workbook();
workbook.LoadFromFile("Sample.xlsx");
Worksheet sheet = workbook.Worksheets[0];

Bitmap image = new Bitmap(Image.FromFile("BackgroundImage1.jpg"));
sheet.PageSetup.BackgoundImage = image;

workbook.SaveToFile("output/SheetBackgroundImage.xlsx");
workbook.Dispose();

出力結果:
C#でExcelワークシートに背景画像を設定


まとめ

Free Spire.XLS for .NETを活用することで、C#開発者は以下のようなExcelの背景デザインを簡単に実装できます:

  • 単色背景:データの強調表示に最適
  • パターン背景:表の装飾や分類に便利
  • グラデーション背景:プロフェッショナルな印象を演出
  • ワークシート背景画像:ロゴや透かしの挿入に活用可能

これらの機能は、帳票の自動生成企業テンプレートの統一化ドキュメントの視覚的な質の向上などに幅広く応用できます。

▶ 詳しい使い方は公式ドキュメントをご覧ください:
Spire.XLS for .NET チュートリアルセンター

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?