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 Anger ett värde av vilken typ som helst.
WHOLE_NUMBER Anger valideringstyp för heltal.
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 Anger valideringstyp för längden på texten.
CUSTOM Anger anpassad valideringstyp.

Programexempel: Heltalsdatavalidering

Med den här typen av validering kan användare endast ange heltal inom ett angivet intervall i de validerade cellerna. Kodexemplen nedan visar hur man implementerar valideringstypen WHOLE_NUMBER med Aspose.Cells. Exemplet skapar samma datavalidering med Aspose.Cells som vi skapade med 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. Testfilen kan laddas ner från följande länk för testning:

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 hjälp av Validation.AddArea(CellArea cellArea), kontrollerar Aspose.Cells alla befintliga områden för att se om det nya området redan finns. Om filen har ett stort antal valideringar påverkar detta prestandan. För att komma över detta tillhandahåller API:et metoden Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge). Parametern checkIntersection anger områdets snitt med befintliga valideringsområden. Om du ställer in den till false inaktiveras kontrollen av andra områden. Parametern checkEdge anger om kanten ska kontrolleras. Om det nya området blir det övre vänstra området byggs interna inställningar om igen. Om du är säker på att det nya området inte är det övre vänstra området kan du ställa in den här parametern som false.

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

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

Källfil

Output-fil

Fortsatta ämnen