Ir al contenido

Win Extract Table

Tipo: win-extract-table  ·  Paquete: Desktop Activities v1.0.8  ·  Salida: DataTable

Extrae los datos de una tabla o grilla de una aplicación de escritorio (DataGrid de .NET, JTable de Java, ListView…) y los convierte en una DataTable. Es muchísimo más eficiente que leer celda por celda: una sola actividad te trae toda la tabla, lista para procesar o volcar a Excel.

Localiza la grilla por su selector y lee sus filas y columnas, sin hacer clic ni desplazarla:

  • Filas: cada fila (DataItem o ListItem de UI Automation) dentro de la grilla, hasta maxRows.
  • Celdas: los textos de los controles de cada fila, en orden. Si una fila no tiene celdas separadas, se toma su texto completo como una sola columna.
  • Columnas: con includeHeader = true, sus nombres son los encabezados que expone la grilla; sin encabezados (o con includeHeader = false) se llaman col0, col1, col2…, según el número de celdas de la primera fila.
  • En aplicaciones Java (JTable) la tabla se lee por el puente con Swing, con sus encabezados.

Todos los valores llegan como texto, tal como se ven en la grilla. Las filas con menos celdas que columnas se completan con "".

ParámetroTipoPor defectoDescripción
selectorselector—La tabla o grilla.
ParámetroTipoPor defectoDescripción
sessionZoanDesktopSession—Sesión de Win Attach. Dentro de un body se toma sola; sin sesión, el selector debe incluir la ventana.
includeHeaderbooltrueUsar los encabezados de la grilla como nombres de columna. Con false, las columnas se llaman col0, col1…
maxRowsint500Máximo de filas a extraer.
timeoutnumber30000Máximo en ms a esperar la grilla. Vacío = el tiempo de espera de interfaz del proyecto o, si no lo define, 30000.

Devuelve un DataTable: una fila por fila de la grilla y una columna de texto por columna. Si la grilla está vacía, devuelve una tabla sin filas (no es un error).

MensajeCausa y solución
No se encontró el elemento con el selector {…}.La grilla no apareció en timeout. Ver errores comunes.
No se pudo localizar el control Java sin ambigüedad, así que no se hizo nada. …En una app Java hay varias tablas iguales. Agrega un ancla o un idx al selector.
Error de columna duplicadaDos encabezados de la grilla tienen el mismo texto y no pueden ser nombres de columna. Usa includeHeader = false y renombra las columnas después.
Win Extract Table selector = (grilla "Movimientos") → output: movimientos
Log message = "Filas extraídas: " + rowCount(movimientos)
For Each items = movimientos itemVariable = fila
└─ activities:
Log message = str(fila["Fecha"]) + " — " + str(fila["Valor"])