C# EXCEL操作 背景色変更

C#からEXCELの背景色を変更する方法を紹介していきます。

他にもEXCEL操作関係の記事を記載していますので、参考にしてみてください。
C# EXCEL操作 新規ブック作成
C# EXCEL操作 値の入力
C# EXCEL操作 罫線の引き方
C# EXCEL操作 フィルター設定

背景色を変更 RGBで変更する

背景色を変更するサンプルを紹介します。

//範囲指定
Excel.Range range_color;
range_color = sheet.Range[sheet.Cells[2, 2], sheet.Cells[4, 4]];
//背景色変更
range_color.Interior.Color = Color.FromArgb(255, 255, 0);

解説

1~3行目:エクセルの範囲を指定
4~5行目:指定した範囲の背景色を変更

結果

このように、RGBで色を設定することができます。

背景色を変更する Color.Index

先ほどは、RGBで色を指定していましたが、続いてColoIndexを利用した設定方法があるので紹介しておきます。

//範囲指定
Excel.Range range_color;
range_color = sheet.Range[sheet.Cells[2, 2], sheet.Cells[4, 4]];
//背景色変更
range_color.Interior.ColorIndex = 3;

結果

参考までに、ColorIndexは、57種類あります。

サンプルソース

最後にサンプルソースを載せておきます。

using System;
using System.Drawing;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;

namespace c_sharp
{
    public partial class frmExcel : Form
    {
        public frmExcel()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Excel.Application excelApp = new Excel.Application();
            Excel.Workbooks excelBooks = excelApp.Workbooks;
            Excel.Workbook excelBook = excelBooks.Add();
            Excel.Worksheet sheet = excelApp.Worksheets["sheet1"];

            try
            {

                excelApp.Visible = false;

                Excel.Range range_color;
                range_color = sheet.Range[sheet.Cells[2, 2], sheet.Cells[4, 4]];
                
                range_color.Interior.Color = Color.FromArgb(255, 255, 0);
                //range_color.Interior.ColorIndex = 3;

                excelBook.SaveAs("D:\\NewExcelBook_csharp.xlsx");
            }
            catch
            {
                throw;
            }
            finally
            {
                excelApp.Quit();
                System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(excelBook);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
            }
        }
    }
}

 

まとめ

C#からEXCELで背景色を変更する方法を紹介しました。

C#からEXCEL出力するプログラムなどでよく使用するので、ぜひ利用してみてください。

 

C#の記事一覧

おすすめの記事