Er zijn verschillende manieren om te controleren of een rij of gegevens in een Excel-bestand voorkomen met behulp van UiPath, afhankelijk van wat u als een 'match' beschouwt. Hier zijn een paar benaderingen, samen met hun respectieve voorwaardelijke opmaak:
Methode 1:'Leesbereik' en 'Bevat' gebruiken (voor eenvoudige zoekopdrachten)
Deze methode is geschikt als u naar een specifieke waarde binnen een kolom zoekt. Het is minder efficiënt voor grote datasets, maar eenvoudig te implementeren.
1. Leesbereik: Gebruik de activiteit 'Bereik lezen' om het volledige Excel-werkblad in een DataTable-variabele te lezen (bijvoorbeeld `myDataTable`).
2. Controleer op bestaan: Gebruik de activiteit 'For Each Row' om elke rij van de 'myDataTable' te doorlopen. Gebruik binnen de lus een 'Als'-activiteit om te controleren of een specifieke kolom uw doelwaarde bevat. U kunt de methode `Contains` gebruiken voor tekenreeksvergelijking of andere vergelijkingsoperatoren, afhankelijk van het gegevenstype.
```vb.net
Ervan uitgaande dat u zoekt naar 'Doelwaarde' in de kolom 'Kolomnaam'
Voor elke rij als DataRow in myDataTable.Rows
If row("ColumnName").ToString().Contains("TargetValue") Then
'Rij gevonden
BooleaanseVariabele =Waar
Exit For 'Verlaat de lus zodra de rij is gevonden
Einde Als
Volgende rij
Als BooleaanseVariabele Dan
'Doe iets als er een rij bestaat
Anders
'Doe iets als rij niet bestaat
Einde Als
```
Methode 2:`Leesbereik` en `Select` gebruiken (voor complexere zoekopdrachten)
Deze methode maakt complexere zoekcriteria mogelijk met behulp van LINQ.
1. Leesbereik: Lees het Excel-blad in een gegevenstabel.
2. Selecteer rijen: Gebruik een LINQ-query om de DataTable te filteren op basis van uw criteria. Om bijvoorbeeld een rij te vinden waarin 'KolomA' gelijk is aan 'WaardeA' en 'KolomB' gelijk is aan 'WaardeB':
```vb.net
Dim foundRows As DataRow() =myDataTable.Select("ColumnA ='WaardeA' AND ColumnB ='WaardeB'")
Indien gevondenRows.Length> 0 Dan
' Rij(en) gevonden
Anders
'Geen rijen gevonden
Einde Als
```
Methode 3:`Lookup Data Table` gebruiken (voor snelle zoekopdrachten)
Als u efficiënt wilt controleren op het bestaan van een specifieke rij op basis van een sleutelkolom, gebruikt u de activiteit 'Gegevenstabel opzoeken'. Dit is veel sneller dan het doorlopen van grote datasets.
1. Leesbereik: Lees het Excel-blad in een gegevenstabel.
2. Gegevenstabel opzoeken: Gebruik de activiteit 'Gegevenstabel opzoeken' om naar een rij te zoeken op basis van een sleutelkolomwaarde. Geef de kolom op die de sleutel bevat en de waarde waarnaar u zoekt.
3. Controleer op resultaat: Controleer de uitvoer van de activiteit 'Gegevenstabel opzoeken'. Als het een rij retourneert, bestaat de rij; anders niet.
```vb.net
Dim foundRow As DataRow =myDataTable.AsEnumerable().FirstOrDefault(Function(row) row("KeyColumn").ToString() ="KeyValue")
Indien gevondenRij is dan niets
'Rij gevonden
Anders
'Rij niet gevonden
Einde Als
```
Voorwaardelijke opmaak:
De "voorwaardelijke opmaak" in UiPath verwijst naar de `If`-instructies die in uw workflow worden gebruikt. Gebaseerd op het feit of de rij wel of niet wordt gevonden (met behulp van de Booleaanse variabele of het controleren van de lengte van de array die wordt geretourneerd door de select-instructie), vertakt u uw workflow met behulp van de 'If'- en 'Else'-instructies om verschillende acties uit te voeren. De bovenstaande codevoorbeelden laten dit zien.
Belangrijke overwegingen:
* Gegevenstypen: Zorg ervoor dat uw gegevenstypen overeenkomen bij het vergelijken van waarden (converteer bijvoorbeeld getallen indien nodig naar tekenreeksen).
* Hoofdlettergevoeligheid: De methode `Contains` is hoofdlettergevoelig. Gebruik `ToLower()` of `ToUpper()` voor hoofdlettergevoelige zoekopdrachten.
* Foutafhandeling: Overweeg het toevoegen van foutafhandeling (bijvoorbeeld 'Try Catch'-blokken) om potentiële problemen, zoals het niet gevonden bestand of onjuiste gegevensformaten, op te lossen.
* Grote datasets: Voor zeer grote datasets kunt u overwegen uw zoekmethoden te optimaliseren (bijvoorbeeld door indien mogelijk indexen in Excel of databaseoplossingen te gebruiken).
Vergeet niet tijdelijke aanduidingen zoals `"ColumnName"`, `"TargetValue"`, `"ColumnA"`, `"ValueA"`, `"ColumnB"`, `"ValueB"`, `"KeyColumn"` en `"KeyValue"` te vervangen door uw daadwerkelijke kolomnamen en -waarden. Kies de methode die het beste bij uw behoeften en datavolume past. Voor het meest efficiënt zoeken in grote datasets heeft 'Lookup Data Table' over het algemeen de voorkeur. |