Append Excel Range
Append Excel Range
Sección titulada «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).
Cómo funciona
Sección titulada «Cómo funciona»- Detecta la última fila con contenido de la hoja, mirando todas las columnas (las filas que solo tienen formato no cuentan).
- Escribe
dataa partir de la fila siguiente, siempre desde la columna A. En una hoja vacía, empieza en la fila 1. - La DataTable se escribe fila por fila, sin encabezados (un DataRow, en una sola fila).
- 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ámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
data | DataTable | 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ámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
session | ZoanExcelSession | — | Sesión de Excel Open (en vez de path). |
path | string | — | Ruta al .xlsx (modo rápido: abre, guarda y cierra solo; se crea si no existe). |
sheet | string | 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.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa 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. |
Ejemplo
Sección titulada «Ejemplo»Añadir las filas de una DataTable al final de un histórico:
Append Excel Range path = "C:/logs/historico.xlsx" data = registros // una DataTableAñ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 = filaActividades relacionadas
Sección titulada «Actividades relacionadas»- Append Excel Rows — acumular DataTables con encabezado inteligente.
- Write Excel Range — escribir en una posición fija.