Hola! tengo un problema con un proceso que estaba haciendo por mi cuenta.
Extraigo datos de una columna de un excel (esta columna tiene Nombres y apellidos) con Read Range. Una vez obtenido la variable DataTable con los datos, quiero pasar en arrays diferentes los nombres y los apellidos por separado. Lo quiero hacer con un For Each Row
(ForEach row in dtNomyApe) invoco un Assign para pasar cada fila del dataTable en un array.
(Assign
To: arrayApellidos(index)
Value: (row(“APELLIDO Y NOMBRE”).ToString).Substring(0," ")
)
Me tira este error:
( Assign: Object reference not set to an instance of an object. )
¿Me pueden ayudar con este problemita? Quizas es un error chico
Welcome to UiPath community
Amigo, por favor siga los pasos a continuación que podrían resolver su problema.
como lo hizo anteriormente, obtenga la variable de datos al leer la tabla, nómbrela out_dt
use a para cada bucle de fila y pase la variable anterior como entrada para esto para cada bucle de fila
dentro del bucle de cada fila use dos actividades de agregar a colecciones
Mientras tanto, en el panel de variables, cree dos variables de matriz de cadenas como out_firstname_array y out_lastname_array, ambas de tipo array de cadenas
Luego ahora dentro del bucle para cada fila, en la primera add a colección, mencione out_firstname_array como entrada a la colección de propiedades y la fila (“yourLastnamecolumnname”). ToString como entrada a la propiedad
De manera similar, en la segunda add a colección, mencione out_lastname_array como entrada para la propiedad collectiona y row (“yourfirstnamecolumnname”). ToString como entrada para el elemento de propiedad
Eso es todo amigo ahora, los valores se agregarán a la matriz separada
amablemente intente esto y hágale saber amigo
Si esto funciona, por favor cierre este tema con el comentario correcto marcado como una solución que también podría ayudar a otros.
Saludos @nahueldelacruz
Ok amigo
Sin preocupaciones
necesitamos inicializar las dos variables de la array antes de usarlas, en lugar de la array, creamos dos variables de lista llamadas out_lastname_list y out_firstname_list, ambas de tipo System.Collections.Generic.List
y crea estas dos variables en el panel de variables y dales un valor predeterminado como este
nueva lista (of string),
luego sigue los pasos similares
coloque el out_lastname_list en primer agregar a colección activity y luego out_firstname_list en segundo agregar a actividad de la colección
Eso es todo amigo
Sigue amablemente esto y let saber amigo @nahueldelacruz
Aclamaciones
Sos un genio!! Cambié las variables por listas y funcionó perfecto.
Mil gracias !!! Una duda mas tengo,¿se puede hacer lo mismo con arrays String? Porque lo intenté, inicialicé ambas Arrays con un valor, pero me seguía dando error.
Asi las inicialicé:
array1–>default: {“hola”}
array2—>default: {“amigo”}
¿Que debería cambiar de eso si quisiera usar arrays en vez de listas?
si podés responder genial. Igualmente ya me solucionaste un problema que me ponía loco. Gracias de nuevo!!!
Amigo
La razón por la que pedí usar la lista en lugar de la matriz es que no tenemos claro cuántos valores se agregarán a una matriz, ya que la matriz debe inicializarse con un tamaño de matriz como este nuevo entero (10) {}
y si agregamos más de 9 valores, nos dará una excepción, pero la lista no es como podemos agregar cualquier número de valores. Por eso pedí usar la lista.
Eso es todo amigo
Saludos @nahueldelacruz