Excelの条件付き書式設定とは、条件に基づいてデータバー、カラースケール、アイコンセットを使用して、関連するセルを強調表示し、外れ値を強調し、データを視覚化することを指します。条件付き書式設定機能は、フィルタリングの高度なバージョンです。つまり、最初に条件を設定して特定の条件を満たすデータを選択し、次に特定の書式を指定します。データ処理においてExcelは掛け替えのない利点があるため、条件付き書式設定は、習得しなければならないスキルと言っても過言ではありません。この記事では、無料バージョンの製品であるFree Spire.XLSを使用して、C#でExcelの条件付き書式を実装する方法を紹介します。
製品は公式サイトまたはNugetからダウンロードすることができます。ダウンロードが完了したら、ダウンロードパッケージのBinフォルダーに.DllをVisual Studioへの参照として追加してください。Spire.XLSを使用してExcelファイルを新たに作成します。Microsoft Excelはその結果を確認するために使用されます。
ステップ1 無料バージョンのSpire.XLSを使用して、ワークブックとフォームを作成します。
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
ステップ2 サンプルデータをフォームセルに追加し、セルの行の高さ、列の幅、および配置を設定します。
sheet.Range["A1"].Value = "名前/学科";
sheet.Range["A2"].Value = "田中";
sheet.Range["A3"].Value = "水野";
sheet.Range["A4"].Value = "木村";
sheet.Range["A5"].Value = "金田";
sheet.Range["A6"].Value = "井上";
sheet.Range["A7"].Value = "土方";
sheet.Range["B1"].Value = "国語";
sheet.Range["C1"].Value = "数学";
sheet.Range["D1"].Value = "英語";
sheet.Range["E1"].Value = "理科";
sheet.Range["B2"].NumberValue = 56;
sheet.Range["B3"].NumberValue = 73;
sheet.Range["B4"].NumberValue = 75;
sheet.Range["B5"].NumberValue = 89;
sheet.Range["B6"].NumberValue = 65;
sheet.Range["B7"].NumberValue = 90;
sheet.Range["C2"].NumberValue = 78;
sheet.Range["C3"].NumberValue = 99;
sheet.Range["C4"].NumberValue = 86;
sheet.Range["C5"].NumberValue = 45;
sheet.Range["C6"].NumberValue = 98;
sheet.Range["C7"].NumberValue = 83;
sheet.Range["D2"].NumberValue = 79;
sheet.Range["D3"].NumberValue = 70;
sheet.Range["D4"].NumberValue = 90;
sheet.Range["D5"].NumberValue = 87;
sheet.Range["D6"].NumberValue = 65;
sheet.Range["D7"].NumberValue = 78;
sheet.Range["E2"].NumberValue = 65;
sheet.Range["E3"].NumberValue = 55;
sheet.Range["E4"].NumberValue = 100;
sheet.Range["E5"].NumberValue = 85;
sheet.Range["E6"].NumberValue = 60;
sheet.Range["E7"].NumberValue = 75;
sheet.AllocatedRange.RowHeight = 15;
sheet.AllocatedRange.ColumnWidth = 17;
sheet.AllocatedRange.VerticalAlignment = VerticalAlignType.Center;
sheet.AllocatedRange.HorizontalAlignment = HorizontalAlignType.Center;
ステップ3 シートのセルB2:E3の条件付き書式を設定します。60ポイント未満のに赤いマークを、60ポイントを超えるに緑のマークをつけます。
ConditionalFormatWrapper format1 = sheet.Range["B2:E3"].ConditionalFormats.AddCondition();
format1.FormatType = ConditionalFormatType.CellValue;
format1.FirstFormula = "60";
format1.Operator = ComparisonOperatorType.Less;
format1.FontColor = Color.Red;
ConditionalFormatWrapper format2 = sheet.Range["B2:E3"].ConditionalFormats.AddCondition();
format2.FormatType = ConditionalFormatType.CellValue;
format2.FirstFormula = "60";
format2.Operator = ComparisonOperatorType.GreaterOrEqual;
format2.FontColor = Color.ForestGreen;
ステップ4 シートのセルB4:E5のデータにデータバーの条件付き書式を設定します。
ConditionalFormatWrapper format3 = sheet.Range["B4:E5"].ConditionalFormats.AddCondition();
format3.FormatType = ConditionalFormatType.DataBar;
format3.DataBar.BarColor = Color.DeepSkyBlue;
ステップ5 シートのセルB6:E7のデータに色レベルの条件付き書式を設定します。
ConditionalFormatWrapper format4 = sheet.Range["B6:E7"].ConditionalFormats.AddCondition();
format4.FormatType = ConditionalFormatType.ColorScale;
ステップ6 ファイルをExcel 2019として保存し、結果を表示します。
workbook.SaveToFile("sample.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("sample.xlsx");
完全なるコード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Spire.Xls;
using System.Drawing;
namespace How_to_set_data_bar
{
class Program
{
static void Main(string[] args)
{
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Range["A1"].Value = "名前/学科";
sheet.Range["A2"].Value = "田中";
sheet.Range["A3"].Value = "水野";
sheet.Range["A4"].Value = "木村";
sheet.Range["A5"].Value = "金田";
sheet.Range["A6"].Value = "井上";
sheet.Range["A7"].Value = "土方";
sheet.Range["B1"].Value = "国語";
sheet.Range["C1"].Value = "数学";
sheet.Range["D1"].Value = "英語";
sheet.Range["E1"].Value = "理科";
sheet.Range["B2"].NumberValue = 56;
sheet.Range["B3"].NumberValue = 73;
sheet.Range["B4"].NumberValue = 75;
sheet.Range["B5"].NumberValue = 89;
sheet.Range["B6"].NumberValue = 65;
sheet.Range["B7"].NumberValue = 90;
sheet.Range["C2"].NumberValue = 78;
sheet.Range["C3"].NumberValue = 99;
sheet.Range["C4"].NumberValue = 86;
sheet.Range["C5"].NumberValue = 45;
sheet.Range["C6"].NumberValue = 98;
sheet.Range["C7"].NumberValue = 83;
sheet.Range["D2"].NumberValue = 79;
sheet.Range["D3"].NumberValue = 70;
sheet.Range["D4"].NumberValue = 90;
sheet.Range["D5"].NumberValue = 87;
sheet.Range["D6"].NumberValue = 65;
sheet.Range["D7"].NumberValue = 78;
sheet.Range["E2"].NumberValue = 65;
sheet.Range["E3"].NumberValue = 55;
sheet.Range["E4"].NumberValue = 100;
sheet.Range["E5"].NumberValue = 85;
sheet.Range["E6"].NumberValue = 60;
sheet.Range["E7"].NumberValue = 75;
sheet.AllocatedRange.RowHeight = 15;
sheet.AllocatedRange.ColumnWidth = 17;
sheet.AllocatedRange.VerticalAlignment = VerticalAlignType.Center;
sheet.AllocatedRange.HorizontalAlignment = HorizontalAlignType.Center;
ConditionalFormatWrapper format1 = sheet.Range["B2:E3"].ConditionalFormats.AddCondition();
format1.FormatType = ConditionalFormatType.CellValue;
format1.FirstFormula = "60";
format1.Operator = ComparisonOperatorType.Less;
format1.FontColor = Color.Red;
ConditionalFormatWrapper format2 = sheet.Range["B2:E3"].ConditionalFormats.AddCondition();
format2.FormatType = ConditionalFormatType.CellValue;
format2.FirstFormula = "60";
format2.Operator = ComparisonOperatorType.GreaterOrEqual;
format2.FontColor = Color.ForestGreen;
ConditionalFormatWrapper format3 = sheet.Range["B4:E5"].ConditionalFormats.AddCondition();
format3.FormatType = ConditionalFormatType.DataBar;
format3.DataBar.BarColor = Color.DeepSkyBlue;
ConditionalFormatWrapper format4 = sheet.Range["B6:E7"].ConditionalFormats.AddCondition();
format4.FormatType = ConditionalFormatType.ColorScale;
workbook.SaveToFile("sample.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("sample.xlsx");
}
}
}
今回のExcel 条件格式を設定する方法は以上でした、最後まで読んでいただきありがとうございました。