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 tillhandahåller metoden Cell.GetValidationValue() för att validera cellvärden programmatiskt. Om värdet i en cell inte uppfyller datavalideringsregeln som applicerats på den cellen returnerar den Falskt, annars Sant.
Följande exempelkod illustrerar hur metoden Cell.GetValidationValue() fungerar. Först matar den in värdet 3 i C1. Eftersom detta inte uppfyller datavalideringsregeln returnerar metoden Cell.GetValidationValue() Falskt. Sedan matar den in värdet 15 i C1. Eftersom detta värde uppfyller datavalideringsregeln returnerar metoden Cell.GetValidationValue() Sant. På liknande sätt returnerar den Falskt för värdet 30.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate the workbook from sample Excel file | |
Workbook workbook = new Workbook(dataDir+ "sample.xlsx"); | |
// Access the first worksheet | |
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 cell = worksheet.Cells["C1"]; | |
// Enter 3 inside this cell | |
// Since it is not between 10 and 20, it should fail the validation | |
cell.PutValue(3); | |
// Check if number 3 satisfies the Data Validation rule applied on this cell | |
Console.WriteLine("Is 3 a Valid Value for this Cell: " + cell.GetValidationValue()); | |
// Enter 15 inside this cell | |
// Since it is between 10 and 20, it should succeed the validation | |
cell.PutValue(15); | |
// Check if number 15 satisfies the Data Validation rule applied on this cell | |
Console.WriteLine("Is 15 a Valid Value for this Cell: " + cell.GetValidationValue()); | |
// Enter 30 inside this cell | |
// Since it is not between 10 and 20, it should fail the validation again | |
cell.PutValue(30); | |
// Check if number 30 satisfies the Data Validation rule applied on this cell | |
Console.WriteLine("Is 30 a Valid Value for this Cell: " + cell.GetValidationValue()); |
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