Ir al contenido

Append Excel Range

Tipo: excel-append-range  ·  Paquete: Excel Activities v1.0.6  ·  Salida: —

Añade filas inmediatamente debajo de la última fila con datos de la hoja, empezando en la columna A. A diferencia de Write Excel Range (que escribe en una posición fija que tú indicas), Append calcula solo dónde termina lo que ya hay y agrega a continuación — ideal para acumular datos en una hoja a lo largo del tiempo sin sobrescribir.

Recibe una DataTable, una sola fila como DataRow o una lista de filas (desde la versión 1.0.6) y escribe solo los valores de las celdas, no la fila de nombres de columna (no añade encabezado).

  1. Detecta la última fila con contenido de la hoja, mirando todas las columnas (las filas que solo tienen formato no cuentan).
  2. Escribe data a partir de la fila siguiente, siempre desde la columna A. En una hoja vacía, empieza en la fila 1.
  3. La DataTable se escribe fila por fila, sin encabezados (un DataRow, en una sola fila).
  4. En modo rápido, guarda el archivo; en modo sesión, el cambio queda en memoria hasta Excel Save o Excel Close.

Si el archivo o la hoja no existen, se crean. Los valores se escriben con su tipo y los DBNull dejan la celda vacía — ver cómo llegan los datos. Acepta session o path — ver los dos modos.

ParámetroTipoPor defectoDescripción
dataDataTable | DataRow | List<List<object>> | List<object>—La DataTable a añadir, un DataRow para una sola fila, una lista de filas (arr(arr("a", 1), arr("b", 2))) o una sola fila como lista (arr("a", 1)). Se escriben los valores, sin encabezados. Las listas se aceptan desde la versión 1.0.6.
ParámetroTipoPor defectoDescripción
sessionZoanExcelSession—Sesión de Excel Open (en vez de path).
pathstring—Ruta al .xlsx (modo rápido: abre, guarda y cierra solo; se crea si no existe).
sheetstring | int—Nombre o índice de la hoja; se crea si no existe. Si se omite, la primera hoja (o "Sheet1" en un libro nuevo).

Esta actividad no devuelve ningún valor.

MensajeCausa y solución
'data' es obligatorio.data está vacío o la expresión dio null.
'data' debe ser un DataTable, un DataRow, una lista de filas (List<List<object>>) o una sola fila (List<object>).data es otra cosa (por ejemplo, un texto o un diccionario).
'data' mezcla filas (listas) con valores sueltos: pasa una lista de filas o una sola fila.La lista tiene a la vez filas y valores sueltos, como arr(arr("a", 1), "b"). Pon cada valor dentro de una fila.
Indica 'session' o 'path'.Falta session y path.
The process cannot access the file '…' because it is being used by another process.El archivo está abierto en otro programa al guardar. Ciérralo o reintenta con Retry.

Añadir las filas de una DataTable al final de un histórico:

Append Excel Range path = "C:/logs/historico.xlsx" data = registros // una DataTable

Añadir una sola fila mientras recorres una tabla:

For Each items = pedidos itemVariable = fila
└─ activities:
If condition = str(fila["Estado"]) == "Rechazado"
└─ then:
Append Excel Range path = "C:/salida/rechazados.xlsx" data = fila