Datavalidering

Datavalideringstyper och utförande

Microsoft Excel stöder ett antal olika typer av datavalidering. Varje typ används för att styra vilken typ av data som skrivs in i en cell eller cellområde. Nedan illustrerar kodsnuttar hur man validerar att:

Datavalidering med Microsoft Excel

För att skapa valideringar med Microsoft Excel:

  1. I ett kalkylblad, välj de celler till vilka du vill applicera validering.

  2. Från menyn Data väljer du Validering. Valideringsdialogrutan visas.

  3. Klicka på fliken Inställningar och ange inställningar enligt nedan. 

    Datavalideringsinställningar

todo:image_alt_text

Datavalidering med Aspose.Cells

Datavalidering är en kraftfull funktion för att validera information som matas in i kalkylblad. Med datavalidering kan utvecklare tillhandahålla användare med en lista över val, begränsa datamatare till en specifik typ eller storlek, osv. I Aspose.Cells har varje Worksheet-klass en Validations-objekt som representerar en samling Validation-objekt. För att ställa in validering, ange några av egenskaperna i Validation-klassen:

  • Typ: representerar valideringstypen, som kan anges genom att använda något av de fördefinierade värdena i ValidationType-uppräkningen.
  • Operator: representerar operatören som ska användas i valideringen, vilket kan anges genom att använda något av de fördefinierade värdena i OperatorType-uppräkningen.
  • Formula1: representerar värdet eller uttrycket förknippat med den första delen av datavalideringen.
  • Formula2: representerar värdet eller uttrycket förknippat med den andra delen av datavalideringen.

När egenskaperna för objektet Validation har konfigurerats kan utvecklare använda strukturen CellArea för att lagra information om cellområdet som kommer att valideras med den skapade valideringen.

Typer av Datavalidering

Datavalidering gör det möjligt att bygga affärsregler in i varje cell så att felaktiga inmatningar resulterar i felmeddelanden. Affärsregler är de policys och förfaranden som styr hur ett företag fungerar. Aspose.Cells stöder alla viktiga typer av datavalidering.

Uppräkningen ValidationType har följande medlemmar:

Medlemsnamn Beskrivning
ANY_VALUE Betecknar ett värde av vilken typ som helst.
WHOLE_NUMBER Betecknar valideringstyp för hela tal.
DECIMAL Anger valideringstyp för decimaltal.
LIST Anger valideringstyp för nedrullningslist.
DATE Anger valideringstyp för datum.
TIME Anger valideringstyp för tid.
TEXT_LENGTH Betecknar valideringstyp för längden på texten.
CUSTOM Anger anpassad valideringstyp.

Programexempel: Heltalsdatavalidering

Med denna typ av validering kan användare endast ange heltal inom ett specificerat intervall i de validerade cellerna. Följande kodexempel visar hur man implementerar WHOLE_NUMBER-valideringstypen. Exemplet skapar samma datavalidering med Aspose.Cells som vi skapade i Microsoft Excel ovan.

Programexempel: Decimaltaldatavalidering

Med den här typen av validering kan användaren ange decimaltal i de validerade cellerna. I exemplet är användaren begränsad att ange endast decimalvärde och valideringsområdet är A1:A10.

Programexempel: Lista för datavalidering

Denna typ av validering gör att användaren kan ange värden från en nedrullningslista. Det tillhandahåller en lista: en serie rader som innehåller data. Användare kan bara välja värden från listan. Valideringsområdet är cellområdet A1:A5 i den första arbetsboken.

Det är viktigt här att du ställer in egenskapen Validation.setInCellDropDown till true.

Programexempel: Datumdatavalidering

Med denna typ av validering anger användare datumvärden inom ett angivet intervall eller enligt specifika kriterier i de validerade cellerna. I exemplet är användaren begränsad att ange datum mellan 1970 och 1999. Här är valideringsområdet cell B1.

Programexempel: Tidsdatavalidering

Med denna typ av validering kan användare ange tider inom ett angivet intervall eller enligt vissa kriterier i de validerade cellerna. I exemplet är användaren begränsad att ange tider mellan 09:00 och 11:30 förmiddag. Här är valideringsområdet cell B1.

Programexempel: Textlängd för datavalidering

Med denna typ av validering kan användare ange textvärden av en angiven längd i de validerade cellerna. I exemplet är användaren begränsad att ange strängvärden med högst 5 tecken. Valideringsområdet är cell B1.

Data valideringsregler

När datavalideringar är implementerade kan valideringen kontrolleras genom att tilldela olika värden i cellerna. Cell.GetValidationValue() kan användas för att hämta valideringsresultatet. Följande exempel demonstrerar denna funktion med olika värden. Testfiler kan laddas ned via följande länk:

SampleDataValidationRules.xlsx

Exempelkod

Kontrollera om validering i en cell är en nedrullningslista

Som vi har sett finns det många typer av valideringar som kan implementeras inom en cell. Om du vill kontrollera om valideringen är en nedrullningslista eller inte kan egenskapen Validation.InCellDropDown användas för att testa detta. Följande kodexempel demonstrerar användningen av denna egenskap. Testfilen kan laddas ner från följande länk för testning:

sampleDataValidationRules.xlsx

Lägg till CellArea till befintlig validering

Det kan finnas fall där du vill lägga till CellArea till befintlig Validation. När du lägger till CellArea med Validation.AddArea(CellArea cellArea), kontrollerar Aspose.Cells alla befintliga områden för att se om det nya området redan finns. Om filen innehåller ett stort antal valideringar kan detta påverka prestandan. För att övervinna detta tillhandahåller API:et metoden Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge). Parametern checkIntersection anger om man ska kontrollera skärningen mellan ett givet område och befintliga valideringsområden. Att ställa in den till false inaktiverar kontrollen av andra områden. Parametern checkEdge anger om man ska kontrollera tillämpade områden. Om det nya området blir det övre vänstra området, byggs interna inställningar om. Om du är säker på att det nya området inte är det övre vänstra området kan du ställa in denna parameter till false.

Följande kodsnutt demonstrerar användningen av Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge) metoden för att lägga till ett nytt CellArea till befintlig Validation.

Käll- och utdataexcelfilerna är bilagda som referens.

Källfil

Output-fil

Fortsatta ämnen

  • Hämta cellvalidering i ODS-filer
  • Få validering som tillämpas på en cell
  • Verifiera att cellvärdet uppfyller datavalideringsreglerna