Ir al contenido

Read Excel Range

Tipo: excel-read-range  ·  Paquete: Excel Activities v1.0.6  ·  Salida: DataTable

Lee un rango de celdas y lo devuelve como una DataTable (los datos tabulares siempre son DataTable). Es útil cuando quieres leer una porción concreta de la hoja: a diferencia de Read Excel Sheet —que lee todo el rango usado—, aquí indicas el rango exacto.

Por defecto la primera fila se trata como encabezados. Si tu rango no los tiene, pon hasHeader = false y las columnas se nombran automáticamente (Col1, Col2…).

Lee las celdas del range indicado y construye una DataTable con exactamente ese tamaño: si el rango incluye filas o columnas vacías, aparecen en la tabla (con DBNull). Si hasHeader es verdadero (por defecto), la primera fila da los nombres de columna; si es falso, las columnas se autonombran. Acepta session o path — ver los dos modos.

Solo lee: en modo rápido no modifica el archivo.

ParámetroTipoPor defectoDescripción
rangestring—Dirección del rango, ej. "A1:D20". Evita columnas completas ("A:D"): abarcan más de un millón de filas.
ParámetroTipoPor defectoDescripción
sessionZoanExcelSession—Sesión de Excel Open (en vez de path).
pathstring—Ruta al .xlsx (requerido si no hay sesión). El archivo debe existir.
sheetstring | int—Nombre o índice (desde 1) de la hoja. Si se omite, la primera.
hasHeaderbooltrueTratar la primera fila del rango como encabezados. Con false, las columnas se llaman Col1, Col2…

Devuelve una DataTable con la misma forma que la de Read Excel Sheet:

  • Columnas: el texto de la primera fila del rango (un encabezado vacío se llama Col<n> según su posición), o Col1, Col2… con hasHeader = false.
  • Valores: cada celda conserva su tipo (desde la versión 1.0.6): número, fecha, booleano o texto; las celdas vacías son DBNull. Ver cómo llegan los datos.
  • Un rango que no tiene datos devuelve las filas y columnas del rango, todas con DBNull.
MensajeCausa y solución
'range' es obligatorio.Falta range.
Indica 'session' o 'path'.Falta session y path.
No se encontró el archivo.path no existe. Valida antes con File Exists.
'…' is not A1 address or named range.range no es una dirección válida. Usa la forma "A1:D20".
There isn't a worksheet named '…'.No hay una hoja con ese nombre.
There isn't a worksheet associated with that position.El índice de hoja no existe (o el nombre es solo un número y se tomó como índice).
A column named '…' already belongs to this DataTable.Dos encabezados del rango se llaman igual. Lee con hasHeader = false o ajusta el rango.
Read Excel Range path = asset("datos.xlsx") range = "A1:C50" → output: tabla
Log message = "Filas leídas: " + str(rowCount(tabla))
For Each items = tabla itemVariable = fila
└─ activities:
Log message = str(fila["Cliente"]) + " — " + str(fila["Total"])

Leer un bloque sin encabezados (por ejemplo, los totales de una plantilla):

Read Excel Range path = asset("plantilla.xlsx") range = "F2:G6" hasHeader = false → output: totales
For Each items = totales itemVariable = fila
└─ activities:
Log message = str(fila["Col1"]) + ": " + str(fila["Col2"])