Det finns flera sätt att kontrollera om en rad eller data finns i en Excel -fil med UIPATH, beroende på vad du anser vara en "match". Här är några tillvägagångssätt, tillsammans med deras respektive villkorade formatering:
Metod 1:Använda `Läsområde 'och' innehåller '(för enkla sökningar)
Den här metoden är lämplig om du letar efter ett specifikt värde i en kolumn. Det är mindre effektivt för stora datasätt men enkelt att implementera.
1. Läsområde: Använd aktiviteten "Läsområde" för att läsa hela Excel -arket till en DataTable -variabel (t.ex. "MyDatable").
2. Kontrollera för existensen: Använd en "för varje rad" -aktivitet för att iterera genom varje rad i "MyDataTable". Inuti slingan, använd en "if" -aktivitet för att kontrollera om en specifik kolumn innehåller ditt målvärde. Du kan använda metoden "Innehåller" för strängjämförelse eller andra jämförelseoperatörer beroende på datatyp.
`` VB.net
"Antagande att du söker" TargetValue "i kolumnen" ColumnName "
För varje rad som Datarow i MyDataTable.Rows
Om rad ("kolumnnamn"). ToString (). Innehåller ("TargetValue") då
'Rad hittades
BooleAnVariable =true
Avsluta för 'avsluta slingan när raden har hittats
Slut om
Nästa rad
Om BooleanVariable då
'Gör något om rad finns
Annan
'Gör något om rad inte finns
Slut om
`` `
Metod 2:Använda `Läsområde 'och` Select' (för mer komplexa sökningar)
Denna metod möjliggör mer komplexa sökkriterier med LINQ.
1. Läsområde: Läs Excel -arket i en datatabell.
2. Välj rader: Använd en LINQ -fråga för att filtrera datatabellen baserat på dina kriterier. För att till exempel hitta en rad där "columna" är lika med "Valuea" och "ColumnB" är lika med "ValueB":
`` VB.net
Dim FounterRows som DataRow () =MyDataTable.Select ("Columna ='Valuea' och ColumnB ='ValueB'")
Om FoundRows.Length> 0 då
'Rad (er) hittades
Annan
'Inga rader hittades
Slut om
`` `
Metod 3:Använda `uppslagningsdatatabell '(för snabba sökningar)
Om du behöver kontrollera om det finns en specifik rad baserat på en nyckelkolumn effektivt, använd aktiviteten "Lookup Data Tabell". Detta är mycket snabbare än itererande genom stora datasätt.
1. Läsområde: Läs Excel -arket i en datatabell.
2. Sökdata Tabell: Använd aktiviteten "Lookup Data Table" för att söka efter en rad baserat på ett nyckelkolumnvärde. Ange kolumnen som innehåller nyckeln och värdet du söker efter.
3. Kontrollera om resultatet: Kontrollera utgången från aktiviteten "Lookup Data tabell". Om den returnerar en rad finns raden; Annars gör det inte.
`` VB.net
Dim FoundRow som DataRow =MyDataTable.AsEnumerable (). FirstAdeFault (funktion (rad) rad ("KeyColumn"). ToString () ="KeyValue")
Om FoundRow inte är något då
'Rad hittades
Annan
'Rad hittades inte
Slut om
`` `
Villkorlig formatering:
Den "villkorade formateringen" i UIPATH hänvisar till de "om" -uttalanden som används i ditt arbetsflöde. Baserat på om raden hittas eller inte (med booleska variabel eller kontrollerar längden på matrisen som returneras av Select -uttalandet), grenar du ditt arbetsflöde med hjälp av "if" och "annars" för att utföra olika åtgärder. Kodexemplen ovan visar detta.
Viktiga överväganden:
* Datatyper: Se till att dina datatyper matchar när du jämför värden (t.ex. konvertera siffror till strängar om det behövs).
* Fallkänslighet: Metoden "innehåller" är skiftkänslig. Använd `tolower ()` eller `toupper ()` för fallkänsliga sökningar.
* Felhantering: Överväg att lägga till felhantering (t.ex. "försök catch" -block) för att hantera potentiella problem som fil som inte har hittats eller felaktiga dataformat.
* Stora datasätt: För mycket stora datasätt kan du överväga att optimera dina sökmetoder (t.ex. med index i Excel- eller databaslösningar om det är möjligt).
Kom ihåg att ersätta platshållare som `" ColumnName "`, `" TargetValue "','" columna "','" Valuea "','" ColumnB "`, '"Värdeb"', '"KeyColumn"' och '"KeyValue" "med ditt faktiska kolumnnamn. Välj den metod som bäst passar dina behov och datavolym. För mest effektiv sökning på stora datasätt föredras "Lookup Data Tabell" i allmänhet.