データ検証

データ検証の種類と実行

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)を使用すると、Aspose.Cellsは既存のエリアをすべて確認して、新しいエリアが既に存在しているかどうかを確認します。ファイルに大量のバリデーションがある場合、パフォーマンスに影響します。これを回避するために、APIはValidation.AddAreaCellArea(cellArea, checkIntersection, checkEdge)メソッドを提供します。checkIntersection パラメータは、指定したエリアと既存のバリデーションエリアの交差を確認するかどうかを示します。falseに設定すると、他のエリアの確認が無効になります。 checkEdge パラメータは、適用済みのエリアを確認するかどうかを示します。新しいエリアが左上のエリアになる場合、内部設定が再構築されます。新しいエリアが左上のエリアでないと確信している場合は、このパラメータを false に設定できます。

以下のコードスニペットは、Validation.AddAreaCellArea メソッドを使用して、既存のValidationに新しいCellAreaを追加する例です。

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

ソースファイル

出力ファイル

高度なトピック

  • ODS ファイルでのセル検証を取得
  • セルに適用された検証を取得する
  • セルの値がデータ検証ルールを満たすかどうかを確認する