Bekräfta att cellvärdet uppfyller datavalideringsreglerna
Microsoft Excel tillåter användare att lägga till datavalideringsregler på celler. Till exempel anger en decimalvalidering att endast nummer mellan 10 och 20 kan matas in. Om en användare matar in ett annat nummer visar Microsoft Excel ett felmeddelande och uppmanar dem att ange ett nummer i rätt intervall. Om du kopierar och klistrar in ett nummer, säg 3, i cellen, kör inte Excel en valideringskontroll eller visar ett felmeddelande.
Ibland är det nödvändigt att kontrollera om ett värde uppfyller datavalideringsreglerna som appliceras på cellen programmatiskt. I fallet ovan bör till exempel inmatningen misslyckas.
Introduktion
Aspose.Cells for Python via .NET tillhandahåller Cell.get_validation_value() metoden för att validera cellvärden programmatiskt. Om värdet i en cell inte uppfyller datavalideringsregeln som tillämpats på den cellen, returnerar den False, annars True.
Följande exempelkod illustrerar hur Cell.get_validation_value() metoden fungerar. Först matar den in värdet 3 i C1. Eftersom detta inte uppfyller datavalideringsregeln, returnerar Cell.get_validation_value() metoden False. Sedan matas värdet 15 in i C1. Eftersom detta värde uppfyller datavalideringsregeln, returnerar Cell.get_validation_value() metoden True. På samma sätt returnerar den False för värdet 30.
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())) |
Output
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