セルの値がデータ検証ルールを満たしているかを確認
Microsoft Excelでは、ユーザーはセルにデータ検証ルールを追加できます。たとえば、10から20までの数値しか入力できないようにする検証を追加します。ユーザーが異なる数値を入力した場合、Excelはエラーメッセージを表示して正しい範囲の数値を入力するよう促します。数値をコピーして貼り付けた場合、Excelは検証チェックを実行せず、エラーメッセージを表示しません。
時には、プログラムでセルに適用されたデータ検証ルールが値を満たしているかどうかを検証する必要があります。たとえば、上記の場合、エントリが失敗する必要があります。
紹介
Aspose.Cells for Python via .NET は、セルの値がプログラムでデータバリデーションルールを満たしているかを検証するための Cell.get_validation_value() メソッドを提供しています。セルの値がそのセルに適用されたデータバリデーションルールを満たさない場合、False を返し、それ以外の場合はTrue を返します。
次のサンプルコードは、Cell.get_validation_value() メソッドがどのように機能するかを示しています。最初に、値3をC1に入力します。これはデータバリデーションルールを満たさないため、Cell.get_validation_value() メソッドはFalseを返します。次に、値15をC1に入力します。この値はデータバリデーションルールを満たすため、Cell.get_validation_value() メソッドはTrueを返します。同様に、値30についてはFalse を返します。
from aspose.cells import Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Instantiate the workbook from sample Excel file | |
workbook = Workbook("sample.xlsx") | |
# Access the first worksheet | |
worksheet = workbook.worksheets[0] | |
# Access Cell C1 | |
# Cell C1 has the Decimal Validation applied on it. | |
# It can take only the values Between 10 and 20 | |
cell = worksheet.cells.get("C1") | |
# Enter 3 inside this cell | |
# Since it is not between 10 and 20, it should fail the validation | |
cell.put_value(3) | |
# Check if number 3 satisfies the Data Validation rule applied on this cell | |
print("Is 3 a Valid Value for this Cell: " + str(cell.get_validation_value())) | |
# Enter 15 inside this cell | |
# Since it is between 10 and 20, it should succeed the validation | |
cell.put_value(15) | |
# Check if number 15 satisfies the Data Validation rule applied on this cell | |
print("Is 15 a Valid Value for this Cell: " + str(cell.get_validation_value())) | |
# Enter 30 inside this cell | |
# Since it is not between 10 and 20, it should fail the validation again | |
cell.put_value(30) | |
# Check if number 30 satisfies the Data Validation rule applied on this cell | |
print("Is 30 a Valid Value for this Cell: " + str(cell.get_validation_value())) |
出力
Is 3 a Valid Value for this Cell: False
Is 15 a Valid Value for this Cell: True
Is 30 a Valid Value for this Cell: False