Ir al contenido

Word Read Tables

Tipo: word-read-tables  ·  Paquete: Word Activities v1.0.4  ·  Salida: List<DataTable>

Lee todas las tablas de un documento de Word y las devuelve como una lista de DataTables (una por cada tabla del documento). Útil para extraer datos tabulares de documentos: un cuadro de precios, un listado, un anexo.

Detecta las tablas del documento, en orden, y convierte cada una en una DataTable. Acepta session o path — ver los dos modos; con path abre el archivo, lo lee y lo cierra sin modificarlo.

  • Con hasHeader = true (por defecto): la primera fila da los nombres de columna (sin espacios al inicio ni al final) y el resto son las filas de datos.
  • Con hasHeader = false: las columnas se llaman Col1, Col2… y todas las filas son datos.
  • La cantidad de columnas la marca la primera fila. Si una fila tiene menos celdas (por ejemplo, por celdas combinadas), las que faltan quedan vacías; si tiene más, las sobrantes se ignoran.
  • Todas las celdas se leen como texto.
  • Las tablas anidadas dentro de otra tabla también se devuelven, como elementos aparte de la lista.
  • hasHeader se marca en el editor; no admite expresiones.

Ninguno — pero debes indicar session o path.

ParámetroTipoPor defectoDescripción
sessionZoanWordSession—Sesión de Word Open (en vez de path). Dentro de un body se hereda automáticamente.
pathstring—Ruta al .docx (modo rápido). Se usa solo si no hay sesión.
hasHeaderbooltrueLa primera fila de cada tabla son los encabezados.

Devuelve una List de DataTable, una por tabla y en el orden del documento. Si el documento no tiene tablas, la lista está vacía. Accede a una tabla con tablas[0] o first(tablas).

Procesar la primera tabla del documento:

Word Read Tables path = asset("anexo.docx") → output: tablas
If condition = count(tablas) > 0
└─ then:
Set Variable name = primera value = first(tablas)
Log message = "Filas: " + rowCount(primera)
MensajeCausa y solución
Indica 'session' o 'path'.No hay sesión ni ruta.
No se encontró el archivo.La ruta de path no existe en la máquina del robot.
Error por nombre de columna repetidoCon hasHeader = true, dos celdas de la primera fila tienen el mismo texto. Usa hasHeader = false y renombra las columnas después con DataTable.