Win Extract Table
Win Extract Table
Sección titulada «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.
Cómo funciona
Sección titulada «Cómo funciona»Localiza la grilla por su selector y lee sus filas y columnas, sin hacer clic ni desplazarla:
- Filas: cada fila (
DataItemoListItemde UI Automation) dentro de la grilla, hastamaxRows. - 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 conincludeHeader = false) se llamancol0,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ámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
selector | selector | — | La tabla o grilla. |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
session | ZoanDesktopSession | — | Sesión de Win Attach. Dentro de un body se toma sola; sin sesión, el selector debe incluir la ventana. |
includeHeader | bool | true | Usar los encabezados de la grilla como nombres de columna. Con false, las columnas se llaman col0, col1… |
maxRows | int | 500 | Máximo de filas a extraer. |
timeout | number | 30000 | Má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).
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa 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 duplicada | Dos encabezados de la grilla tienen el mismo texto y no pueden ser nombres de columna. Usa includeHeader = false y renombra las columnas después. |
Ejemplo
Sección titulada «Ejemplo»Win Extract Table selector = (grilla "Movimientos") → output: movimientosLog message = "Filas extraídas: " + rowCount(movimientos)
For Each items = movimientos itemVariable = fila └─ activities: Log message = str(fila["Fecha"]) + " — " + str(fila["Valor"])Actividades relacionadas
Sección titulada «Actividades relacionadas»- Win Get Text — leer una celda suelta.
- DataTable — filtrar, ordenar y resumir la tabla extraída.