GeneXus - Abrir un archivo excel y agregar una nueva columna

 
Vista:
Imágen de perfil de Pablo Dante
Val: 10
Ha aumentado 1 puesto en GeneXus (en relación al último mes)
Gráfica de GeneXus

Abrir un archivo excel y agregar una nueva columna

Publicado por Pablo Dante (40 intervenciones) el 24/09/2024 15:04:11
Buen día foro.
Tengo un archivo excel y necesito leer (con un procedimiento), uno de sus datos e ir agregándole una nueva columna con un nuevo dato.
Por ejemplo; abro el excel para su lectura y en una de sus columnas tengo en dato "número de cliente" y con un for each a una tabla necesito verificar si existe. E ir (al mismo archivo) una nueva columna con el dato "Existe" o "NoExiste".
Es posible pode hacerlo o debo crear otro archivo a parte con la nueva columna!??
Cualquier ayuda me sirve.
Un cordial saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Abrir un archivo excel y agregar una nueva columna

Publicado por Marcelo Madelón (1 intervención) el 15/10/2024 15:12:31
Pablo

Si en el DCT defines el archivo Excel que necesitas leer con la columna destinada a guardar el dato "Existe" o "NoExiste"
podes grabarlo sin ningún problema.
Lo que no se si quieres grabarlo a una tabla tps o Sql o en el mismo excel.
Si usas otra herramienta pienso que podes hacer algo así
Leer secuencialmente el excel y guardar en dos variables cuando comienzas el for each. La posición de la primer lectura y el código de cliente que has leído.
Var:Posicion
Var:CodCliente
Hacer el for each y comparar si hay algún código es igual a Var:CodCliente continuando con el for each
en caso de existir, con el valor de Loc:Posicion te paras en cliente y le grabas lo que corresponde.
Luego al próximo for each lo comenzas desde la siguiente posición y vuelves a guardar la posición y el código de cliente leído.

Si lo pasas a un tps es mas fácil por que por cada código de cliente lees el tps por la clave codigocliente y podes saber si existe o no

CLI:CodCliente = Loc:CodCliente

IF NOT Access:CLIENTES.Fetch(CLI:KeyCodigoCliente) !Lee por la clave KeyCodigoCliente
Message('El Cliente Existe')
END


Otra manera es:

IF Access:CLIENTES.Fetch(CLI:KeyCodigoCliente) !Lee por la clave KeyCodigoCliente
Message('El Cliente No Existe')
END

La diferencia está en la manera que lo lees "IF NOT Access" o "IF Access"




Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Pablo Dante
Val: 10
Ha aumentado 1 puesto en GeneXus (en relación al último mes)
Gráfica de GeneXus

Abrir un archivo excel y agregar una nueva columna

Publicado por Pablo Dante (40 intervenciones) el 22/10/2024 12:42:20
Hola Marcelo buen día
Lo solucione creando una Tabla, volcando los datos de la consulta a las vistas. Es una tabla temporal así que cuando termine los procesos que estoy ejecutando la borro.
Muchas gracias
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar