Filtrado excel

Hola que tal.

Me podrian ayudar

Rengo un documento de Excel el cual concentra información de distintas personas, el objetivo es que de ese Excel filtre la información correspondiente a cada persona y la mande por correo a esa persona.

tomando en cuenta que existe “n” cantidad de personas.

cual seria el mejor camino que debiera seguir?

Hi @alexis.mendoza ,

You can read this excel document using Read Range Activity, It will create an DataTable

You can now loop through this DataTable For Each Row Activity , inside loop you will build the email body per row and use Send Outlook Mail Message / Send SMTP Email activity to send the email.

@alexis.mendoza Can you please translate this to english and post here again

Hello .

Could you help me

I collect an Excel document which concentrates information from different people, the objective is that from that Excel I filter the information corresponding to each person and send it by mail to that person.

taking into account that there is “n” number of people.

what would be the best way to go?

@alexis.mendoza

I guess you can use for each row or LINQs to do this. But LINQs make the process easy. Can you share the sample input excel please

Hello @alexis.mendoza

In your excel each row will be having different personal details or there can be duplicate details of the same person?

Also how to filter the Excel? Is it based on the person name and what all entries are available we need to send it to that user via email?

Better if you can share the correct sample Excel .

Sure.

The challenge is the following.
filter the information of each person, and send all that information in a single email, one for each person.

For example, we filter the first person and send all that information (in the red circle) to the email that belongs to him.

[
Book1.xlsx (18.3 KB)
](https://)

Hola Alexis

prueba con esto

dt.AsEnumerable.Where(Function (x) x("Persona").ToString.Trim.Equals(CurrentRow("Persona").ToString)).CopyToDataTable

Saludos!

Hay alguna forma de leer el primer dato de cada elemento en la columna del pais?

ese será el nombre de una carpeta que debe ir adjunta en el mismo correo…

osea que el bot haga el filtro, saque de que pais es, buscar la carpeta con ese nombre y mandarla por correo en el mismo correo que va la tabla de excel.

supongo que seria algo como esto

CurrentRow("dato").ToString
Directory.GetFiles("rutaDondeEstaUbicadalaCarpeta" + path)

Me marca un error .

revisa este post, parece un error similar

Funciona mas o menos.

si filtra la información como se quiere pero manda muchos correos con la misma información y lo manda en formato de string.

Así es como llega el correo, y llega uno igual por cada fila que contenga el nombre de la persona.

ose que si alexis mendoza tiene 6 filas entonces mandara 6 correos iguales. pero ocupo que se mande uno solo por cada apersona con su respectiva data table.

para enviarlo como tabla revisa el siguiente ejemplo

para enviarlo solo una vez, te recomiendo eliminar los duplicados y guardarlos en una datatable, recorrer esa data table y por cada row hacer el filtrado de la datatable original y asi enviar el mail solo una vez.

newDT = dt.DefaultView.ToTable(True,"dato")

eso te devolver una datatable nueva con los datos no duplicados, solo recorres esa, filtras la original como lo estas haciendo y envias el correo.

Saludos