データ検証

データ検証の種類と実行

Microsoft Excel はさまざまな種類のデータ検証をサポートしています。それぞれの種類は、セルまたはセル範囲に入力されるデータの種類を制御するために使用されます。以下は、それぞれの種類を確認するためのコードスニペットの例です。

Microsoft Excel でデータ検証

Microsoft Excel を使用して検証を作成するには:

  1. ワークシートで、検証を適用したいセルを選択します。

  2. データ メニューから 検証 を選択します。 検証のダイアログが表示されます。

  3. 設定 タブをクリックして、以下に示すように設定を入力します。 

    データ検証の設定

todo:image_alt_text

Aspose.Cells を使用したデータ検証

データ検証は、ワークシートに入力された情報を検証するための強力な機能です。データ検証を使用すると、開発者はユーザーに選択肢のリストを提供したり、データの入力を特定のタイプやサイズに制限したりすることができます。 Aspose.Cellsでは、各Worksheetクラスには、Validationsオブジェクトがあり、これはValidationオブジェクトのコレクションを表します。検証を設定するには、いくつかのValidationクラスのプロパティを設定します:

  • Type: 検証タイプを表し、ValidationType列挙型の事前定義された値の1つを使用して指定できます。
  • Operator: 検証で使用する演算子を表し、OperatorType列挙型の事前定義された値の1つを使用して指定できます。
  • Formula1: データ検証の最初の部分に関連付けられた値や式を表します。
  • Formula2: データ検証の2番目の部分に関連付けられた値や式を表します。

Validationオブジェクトのプロパティが構成されたら、開発者は作成した検証を使用して検証されるセル範囲に関する情報を保存するためにCellArea構造を使用できます。

データ検証の種類

データ検証を使用すると、各セルにビジネスルールを組み込み、不正確なエントリがエラーメッセージを引き起こすようにすることができます。ビジネスルールとは、ビジネスが運営される方法を規定する方針と手順です。Aspose.Cellsはすべての重要なデータ検証の種類をサポートしています。

ValidationType列挙型には、次のメンバーがあります:

メンバー名 説明
ANY_VALUE :すべてのタイプの値を示します。
WHOLE_NUMBER :整数の検証タイプを示します。
DECIMAL :10進数の検証タイプを示します。
LIST :ドロップダウンリストの検証タイプを示します。
DATE :日付の検証タイプを示します。
TIME :時間の検証タイプを示します。
TEXT_LENGTH :テキストの長さの検証タイプを示します。
CUSTOM :カスタム検証のタイプを示します。

プログラミングサンプル: 整数のデータ検証

このタイプの検証では、ユーザーは検証済みのセルに指定された範囲内の整数のみを入力できます。次に示すコード例は、WHOLE_NUMBER検証タイプを実装する方法を示しています。例では、Microsoft Excelを使用して作成したものと同じデータ検証をAspose.Cellsを使用して作成します。

プログラミングサンプル: 10進数のデータ検証

このタイプの検証では、ユーザーは検証済みのセルに10進数を入力できます。例では、ユーザーは10進数の値のみを入力するように制限され、検証領域はA1:A10です。

プログラミングサンプル: リストのデータ検証

このタイプの検証では、ユーザーはドロップダウンリストから値を入力できます。一連のデータを含む行のリストが提供されます。ユーザーはリストからの値のみを選択できます。検証領域は、最初のワークシートのセル範囲A1:A5です。

ここで重要なのは、Validation.setInCellDropDownプロパティをtrueに設定することです。

プログラミングサンプル: 日付のデータ検証

このタイプの検証では、ユーザーは検証済みのセルに特定の範囲内の日付値、または特定の条件を満たす日付値を入力できます。例では、ユーザーは1970年から1999年の間の日付を入力することに制限されます。ここでは、検証領域はB1セルです。

プログラミングサンプル: 時間のデータ検証

このタイプの検証では、ユーザーは検証済みのセルに特定の範囲内の時刻、または特定の条件を満たす時刻を入力できます。例では、ユーザーは午前09:00から11:30の間の時間のみを入力するように制限されます。ここでは、検証領域はB1セルです。

プログラミングサンプル:テキスト長データ検証

このタイプの検証を使用すると、ユーザーは検証されたセルに指定された長さのテキスト値を入力できます。例では、ユーザーは5文字を超えない文字列値を入力することが制限されています。検証エリアはB1セルです。

データ検証ルール

データ検証が実装された場合、検証はセルに異なる値を割り当ててチェックできます。Cell.GetValidationValue() を使用して検証結果を取得できます。次の例は、異なる値でこの機能を実証しています。テスト用にサンプルファイルを以下のリンクからダウンロードできます:

SampleDataValidationRules.xlsx

サンプルコード

セルの検証がドロップダウンかどうかをチェックする

セル内に実装できる検証の多くの種類があることが分かりました。検証がドロップダウンかどうかをチェックしたい場合は、Validation.InCellDropDown プロパティを使用してテストできます。次のサンプルコードは、このプロパティの使用法を実証しています。テスト用のサンプルファイルを以下のリンクからダウンロードできます:

sampleDataValidationRules.xlsx

既存の検証にCellAreaを追加

既存のValidationCellArea を追加したい場合があります。Validation.AddArea(CellArea cellArea) を使用してCellArea を追加すると、Aspose.Cells は新しいエリアを既存のエリアとチェックします。ファイルに多数の検証がある場合、パフォーマンスに影響します。これを克服するために、API はValidation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge) メソッドを提供しています。checkIntersection パラメータは、既存の検証エリアとの交差をチェックするかどうかを示します。これをfalseに設定すると、他のエリアのチェックが無効になります。checkEdge パラメータは、適用されたエリアをチェックするかどうかを示します。新しいエリアが左上のエリアになる場合、内部設定が再構築されます。新しいエリアが左上のエリアでないことが確実な場合は、このパラメータをfalse に設定できます。

Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge) メソッドを使用して既存のValidation に新しいCellArea を追加する方法を示す次のコードスニペット:

ソースエクセルファイルと出力エクセルファイルが添付されています。

ソースファイル

出力ファイル

高度なトピック