データ検証

データ検証の種類と実行

データ検証は、ワークシートに入力されたデータに関するルールを設定する機能です。たとえば、「日付」と記載された列には日付のみが含まれるようにし、他の列には数字のみが含まれるようにすることができます。あるいは、「日付」と記載された列には特定の範囲内の日付のみが含まれるようにすることもできます。データ検証を使用すると、ワークシートのセルに入力される内容を制御することができます。

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

  • 数値が整数で、つまり小数部を持たないこと。
  • 小数点以下の桁に構造が正しいこと。コード例では、セルの範囲に2つの小数点以下があることを定義しています。
  • 一覧からの値に制限されていること。一覧の検証では、セルやセル範囲に適用する別々の値の一覧が定義されます。
  • 特定の範囲内の日付であること。
  • 特定の範囲内の時間であること。
  • 指定された文字長内のテキストであること。

Microsoft Excel でデータ検証

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

  1. ワークシートで、検証を適用したいセルを選択します。
  2. データ メニューから 検証 を選択します。 検証のダイアログが表示されます。
  3. 設定 タブをクリックし、設定を入力します。

Aspose.Cells for Python Excel Library でのデータ検証

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

  • type – 検証のタイプを表し、ValidationType 列挙型で定義された事前定義の値のいずれかを使用して指定できます。
  • Operator – 検証で使用される演算子を表し、OperatorType 列挙型で定義された事前定義の値のいずれかを使用して指定できます。
  • formula1 – データ検証の最初の部分に関連付けられた値または式を表します。
  • formula2 – データ検証の2番目の部分に関連付けられた値または式を表します。

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

データ検証の種類

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

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

この種類の検証では、ユーザーは検証されたセルに指定された範囲内の整数のみを入力できます。以下のコード例では、WholeNumber検証タイプを実装する方法が示されます。この例では、マイクロソフトエクセルで作成したものと同じデータ検証を Aspose.Cells for Python via .NET を使用して作成します。

リストデータの検証

この種類の検証では、ユーザーはドロップダウンリストから値を入力できます。リストにはデータを含む一連の行があります。この例では、リストのソースを保持するために2番目のワークシートが追加されます。ユーザーはリストからのみ値を選択できます。検証エリアは最初のワークシートのセル範囲 A1:A5 です。

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

日付データの検証

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

時間データの検証

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

テキスト長のデータ検証

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

データ検証ルール

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

sampleDataValidationRules.xlsx

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

検証がドロップダウンかどうかを確認する

sampleValidation.xlsx

既存の検証にCellAreaを追加

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

新しいCellAreaを既存のValidationに追加するValidation.add_area(cell_area, check_intersection, check_edge)メソッドの使用を示すコードスニペット。

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

ソースファイル

出力ファイル

高度なトピック