バージョン

Infragistics Excel Engine での条件付き書式

目的

このトピックは、Infragistics Excel Engine を使用して Worksheet で条件付き書式を構成して設定する方法を説明します。

前提条件

以下の表は、このトピックを理解するための前提条件となる概念とトピックを示します。

トピック 目的

Infragistics Excel Engine について

このセクションでは、Infragistics Excel Engine のオブジェクト モデルと機能をより深く理解するうえで役立つ情報を提供します。

このトピックの内容

このトピックは、以下のセクションで構成されます。

条件付き書式の構成の概要

特定の Worksheet の条件付き書式を構成するには、ワークシートの ConditionalFormats コレクションに公開される Add メソッドを使用できます。この Add メソッドの最初のパラメーターは条件付き書式に適用する Worksheet の文字列領域です。

Worksheet に追加可能な条件付き書式にその条件が true の場合に WorksheetCell 要素の外観を決定する CellFormat プロパティがあります。たとえば、Fill および Font などのこの CellFormat プロパティにアタッチされるプロパティを使用してセルの背景およびフォント設定を決定できます。

条件付き書式が作成され、CellFormat が適用される場合、WorksheetCell にサポートされるプロパティのサブセットがあります。現在サポートされる CellFormat プロパティは Fill、Border プロパティ、FormatString、および Strikethrough、Underline、Italic、Bold、Color などの Font プロパティです。以下のコード スニペットに複数のプロパティが設定されます。

WorksheetCell の可視化の動作が異なるため、CellFormat プロパティがない条件付き書式もあります。この条件付き書式は DataBarConditionalFormatColorScaleConditionalFormat、および IconSetConditionalFormat です。

既存の Workbook を Excel から読み込む場合、その Workbook が読み込んだときに書式設定が保持されます。Workbook を Excel ファイルに保存する場合にも保持されます。

条件付き書式の構成の概要表

以下の表は、Worksheet 要素でサポートされる条件付き書式を説明し、その要素の ConditionalFormats コレクションの追加するメソッドにマップします。

条件付き書式オブジェクト メソッド 詳細

AverageConditionalFormat

AddAverageCondition

セルの値が関連する範囲の平均または標準偏差の上下にあるかどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

BlanksConditionalFormat

AddBlanksCondition

セルの値が設定されていないかどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

ColorScaleConditionalFormat

AddColorScaleCondition

最小値、中値、および最大値のしきい値に相対してセル値に基づいて WorksheetCell の色設定を制御するプロパティを公開します。

DataBarConditionalFormat

AddDataBarCondition

関連する値範囲に相対するセルの値に基づいて WorksheetCell でデータ バーを表示するプロパティを公開します。

DateTimeConditionalFormat

AddDateTimeCondition

セルの DateTime 値が指定した範囲にあるかどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

DuplicateConditionalFormat

AddDuplicateCondition

セルの値が関連する範囲で一意または複製かどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

ErrorsConditionalFormat

AddErrorsCondition

セルの値が有効かどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

FormulaConditionalFormat

AddFormulaCondition

セルの値が Formula によって定義される条件に一致するかどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

IconSetConditionalFormat

AddIconSetCondition

しきい値に相対するセルの値に基づいて WorksheetCell でアイコンを表示するプロパティを公開します。

NoBlanksConditionalFormat

AddNoBlanksCondition

セルの値が設定されるかどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

NoErrorsConditionalFormat

AddNoErrorsCondition

セルの値が有効かどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

OperatorConditionalFormat

AddOperatorCondition

セルの値が論理演算子によって定義される条件に一致するかどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

RankConditionalFormat

AddRankCondition

セルの値が関連する範囲の上位または下位にあるかどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

TextOperatorConditionalFormat

AddTextCondition

セルのテキスト値が AddTextCondition メソッドのパラメーターの文字列および FormatConditionTextOperator 値によって定義される条件に合うかどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

UniqueConditionalFormat

AddUniqueCondition

セルの値が関連する範囲で一意かどうかに基づいて WorksheetCell のビジュアル属性を制御するプロパティを公開します。

コード例

以下のコード例は上記の条件付き書式オブジェクトの使用方法を紹介します。

C# の場合:

Workbook book = new Workbook();
Worksheet sheet = book.Worksheets.Add("Sheet1");

AverageConditionalFormat avgFormat = sheet.ConditionalFormats.AddAverageCondition("A1:A10", FormatConditionAboveBelow.AboveAverage);
avgFormat.CellFormat.Font.ColorInfo = new WorkbookColorInfo(System.Drawing.Color.Red);

BlanksConditionalFormat blankFormat = sheet.ConditionalFormats.AddBlanksCondition("B1:B10");
blankFormat.CellFormat.Fill = CellFill.CreateSolidFill(System.Drawing.Color.Gray);

ColorScaleConditionalFormat colorFormat = sheet.ConditionalFormats.AddColorScaleCondition("C1:C10", ColorScaleType.ThreeColor);
colorFormat.MinimumThreshold.FormatColor = new WorkbookColorInfo(System.Drawing.Color.Green);
colorFormat.MidpointThreshold.FormatColor = new WorkbookColorInfo(System.Drawing.Color.Orange);
colorFormat.MaximumThreshold.FormatColor = new WorkbookColorInfo(System.Drawing.Color.Red);

DataBarConditionalFormat dataBarFormat = sheet.ConditionalFormats.AddDataBarCondition("D1:D10");

DateTimeConditionalFormat dateTimeFormat = sheet.ConditionalFormats.AddDateTimeCondition("E1:E10", FormatConditionTimePeriod.NextWeek);
dateTimeFormat.CellFormat.Font.ColorInfo = new WorkbookColorInfo(System.Drawing.Color.Blue);

DuplicateConditionalFormat duplicateFormat = sheet.ConditionalFormats.AddDuplicateCondition("F1:F10");
duplicateFormat.CellFormat.Font.ColorInfo = new WorkbookColorInfo(System.Drawing.Color.Magenta);

FormulaConditionalFormat formulaFormat = sheet.ConditionalFormats.AddFormulaCondition("H1:H10", "=H1>2");
formulaFormat.CellFormat.Font.ColorInfo = new WorkbookColorInfo(System.Drawing.Color.Blue);

IconSetConditionalFormat iconFormat = sheet.ConditionalFormats.AddIconSetCondition("I1:I10", FormatConditionIconSet.IconSet3Arrows);

NoBlanksConditionalFormat noBlanksFormat = sheet.ConditionalFormats.AddNoBlanksCondition("J1:J10");
noBlanksFormat.CellFormat.Fill = CellFill.CreateSolidFill(System.Drawing.Color.LightGray);

OperatorConditionalFormat operatorFormat = sheet.ConditionalFormats.AddOperatorCondition("L1:L10", FormatConditionOperator.Greater);
operatorFormat.SetOperand1(500);
operatorFormat.CellFormat.Font.ColorInfo = new WorkbookColorInfo(System.Drawing.Color.Red);

RankConditionalFormat rankFormat = sheet.ConditionalFormats.AddRankCondition("M1:M10", FormatConditionTopBottom.Top, 5);
rankFormat.CellFormat.Font.ColorInfo = new WorkbookColorInfo(System.Drawing.Color.Blue);

TextOperatorConditionalFormat textFormat = sheet.ConditionalFormats.AddTextCondition("N1:N10", "A", FormatConditionTextOperator.Contains);
textFormat.CellFormat.Font.ColorInfo = new WorkbookColorInfo(System.Drawing.Color.Magenta);

UniqueConditionalFormat uniqueFormat = sheet.ConditionalFormats.AddUniqueCondition("O1:O10");
uniqueFormat.CellFormat.Font.ColorInfo = new WorkbookColorInfo(System.Drawing.Color.Red);

Visual Basic の場合:

Dim book As New Workbook()
Dim sheet As Worksheet = book.Worksheets.Add("Sheet1")

Dim avgFormat As AverageConditionalFormat = sheet.ConditionalFormats.AddAverageCondition("A1:A10", FormatConditionAboveBelow.AboveAverage)
avgFormat.CellFormat.Font.ColorInfo = New WorkbookColorInfo(System.Drawing.Color.Red)

Dim blankFormat As BlanksConditionalFormat = sheet.ConditionalFormats.AddBlanksCondition("B1:B10")
blankFormat.CellFormat.Fill = CellFill.CreateSolidFill(System.Drawing.Color.Gray)

Dim colorFormat As ColorScaleConditionalFormat = sheet.ConditionalFormats.AddColorScaleCondition("C1:C10", ColorScaleType.ThreeColor)
colorFormat.MinimumThreshold.FormatColor = New WorkbookColorInfo(System.Drawing.Color.Green)
colorFormat.MidpointThreshold.FormatColor = New WorkbookColorInfo(System.Drawing.Color.Orange)
colorFormat.MaximumThreshold.FormatColor = New WorkbookColorInfo(System.Drawing.Color.Red)

Dim dataBarFormat As DataBarConditionalFormat = sheet.ConditionalFormats.AddDataBarCondition("D1:D10")

Dim dateTimeFormat As DateTimeConditionalFormat = sheet.ConditionalFormats.AddDateTimeCondition("E1:E10", FormatConditionTimePeriod.NextWeek)
dateTimeFormat.CellFormat.Font.ColorInfo = New WorkbookColorInfo(System.Drawing.Color.Blue)

Dim duplicateFormat As DuplicateConditionalFormat = sheet.ConditionalFormats.AddDuplicateCondition("F1:F10")
duplicateFormat.CellFormat.Font.ColorInfo = New WorkbookColorInfo(System.Drawing.Color.Magenta)

Dim formulaFormat As FormulaConditionalFormat = sheet.ConditionalFormats.AddFormulaCondition("H1:H10", "=H1>2")
formulaFormat.CellFormat.Font.ColorInfo = New WorkbookColorInfo(System.Drawing.Color.Blue)

Dim iconFormat As IconSetConditionalFormat = sheet.ConditionalFormats.AddIconSetCondition("I1:I10", FormatConditionIconSet.IconSet3Arrows)

Dim noBlanksFormat As NoBlanksConditionalFormat = sheet.ConditionalFormats.AddNoBlanksCondition("J1:J10")
noBlanksFormat.CellFormat.Fill = CellFill.CreateSolidFill(System.Drawing.Color.LightGray)

Dim operatorFormat As OperatorConditionalFormat = sheet.ConditionalFormats.AddOperatorCondition("L1:L10", FormatConditionOperator.Greater)
operatorFormat.SetOperand1(500)
operatorFormat.CellFormat.Font.ColorInfo = New WorkbookColorInfo(System.Drawing.Color.Red)

Dim rankFormat As RankConditionalFormat = sheet.ConditionalFormats.AddRankCondition("M1:M10", FormatConditionTopBottom.Top, 5)
rankFormat.CellFormat.Font.ColorInfo = New WorkbookColorInfo(System.Drawing.Color.Blue)

Dim textFormat As TextOperatorConditionalFormat = sheet.ConditionalFormats.AddTextCondition("N1:N10", "A", FormatConditionTextOperator.Contains)
textFormat.CellFormat.Font.ColorInfo = New WorkbookColorInfo(System.Drawing.Color.Magenta)

Dim uniqueFormat As UniqueConditionalFormat = sheet.ConditionalFormats.AddUniqueCondition("O1:O10")
uniqueFormat.CellFormat.Font.ColorInfo = New WorkbookColorInfo(System.Drawing.Color.Red)

このトピックに関連する追加情報については、以下のトピックを参照してください。

トピック 目的

このトピックは、グリッド線を表示または非表示にし、カラーを設定する方法を説明します。

このトピックでは、列と行のヘッダーを表示または非表示にする方法を説明します。

このトピックでは、ワークシートのセル値が編集されないようにする方法を説明します。