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.Color
と CellRange.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();
2. パターン背景を設定する
Spire.XLSでは、点線・グレースケール・レンガ模様など、さまざまな内蔵パターンを利用できます。
FillPattern
、Color
(背景色)、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();
3. グラデーション背景を設定する
グラデーション背景は、FillPattern
をGradient
に設定し、さらに Interior.Gradient.ForeColor
と BackColor
を指定します。
コード例:
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ワークシートに背景画像を設定する
セル単位の設定に加えて、ワークシート全体に背景画像を挿入することもできます。
これは、透かし文字やロゴマークの挿入など、ブランディングや視覚強調に最適です。
手順概要:
-
Workbook
オブジェクトを作成し、ワークシートを読み込む -
Worksheet.PageSetup.BackgoundImage
を使って背景画像を設定 - 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();
まとめ
Free Spire.XLS for .NETを活用することで、C#開発者は以下のようなExcelの背景デザインを簡単に実装できます:
- 単色背景:データの強調表示に最適
- パターン背景:表の装飾や分類に便利
- グラデーション背景:プロフェッショナルな印象を演出
- ワークシート背景画像:ロゴや透かしの挿入に活用可能
これらの機能は、帳票の自動生成、企業テンプレートの統一化、ドキュメントの視覚的な質の向上などに幅広く応用できます。
▶ 詳しい使い方は公式ドキュメントをご覧ください:
Spire.XLS for .NET チュートリアルセンター