Ir al contenido

Excel Online — Append rows

Tipo: excelonline-append-rows  ·  Paquete: Excel Online v1.0.4

Añade filas a continuación de los últimos datos de una hoja, sin sobrescribir lo que ya hay. Es ideal para ir acumulando registros (una bitácora, resultados de un proceso…) ejecución tras ejecución, sin calcular dónde termina la hoja.

Opera sobre la sesión creada con Excel Online — Connect. Pásala en el parámetro session, o coloca esta actividad dentro del body de Excel Online — Connect para heredarla automáticamente.

En values pasas una DataTable (o un DataRow para una sola fila). La actividad:

  1. Pide a Microsoft 365 el rango usado de la hoja y toma su última fila.
  2. Escribe las filas justo debajo, empezando siempre en la columna A, solo con los valores (sin la fila de nombres de columna).

El cambio se guarda automáticamente. Ten en cuenta:

  • Las celdas con solo formato (bordes, color) cuentan como usadas: si hay filas formateadas vacías al final, las filas nuevas quedan debajo de ellas.
  • En una hoja completamente vacía, Microsoft 365 informa A1 como rango usado, así que la primera fila agregada queda en la fila 2. Lo habitual es tener los encabezados en la fila 1.
  • Con una tabla sin filas no escribe nada y no falla.
  • Cada llamada vuelve a calcular la última fila, así que no es idempotente: si la reintentas tras un fallo que sí alcanzó a escribir, las filas quedan duplicadas. Si varios robots agregan filas a la misma hoja al mismo tiempo, pueden pisarse; en ese caso, usa una hoja por robot.
ParámetroTipoPor defectoDescripción
sheetstring—Nombre de la hoja.
valuesDataTable | DataRow—La DataTable a añadir (o un DataRow para una sola fila).
ParámetroTipoPor defectoDescripción
sessionZoanExcelOnlineSession—Sesión de Excel Online — Connect. Dentro del body de Connect se hereda.

Esta actividad no devuelve ningún valor. El cambio se guarda automáticamente; el registro de la ejecución indica cuántas filas se agregaron y en qué rango.

MensajeCausa y solución
No hay una sesión de Excel Online disponible. Indica 'session' desde una actividad excelonline-connect o coloca esta actividad dentro del cuerpo de la actividad Connect para que herede la sesión automáticamente.La actividad está fuera del body de Connect y no recibió session. Colócala dentro del body o pasa session = libro.
'sheet' es obligatorio. / 'values' es obligatorio.El parámetro está vacío o su expresión dio null.
'values' debe ser un DataTable (o un único DataRow).Pasaste otro tipo (una lista o un arreglo). Construye la tabla con Build DataTable.
itemNotFound (Microsoft Graph, 404)No existe una hoja con ese nombre.

Registrar el resultado de cada factura procesada en una bitácora:

Build DataTable
columns = arr("Fecha", "Factura", "Resultado")
rows = arr(arr(DateTime.Now.ToString("yyyy-MM-dd HH:mm"), numeroFactura, "OK"))
→ output: registro
Excel Online — Connect credential = credential("m365-finanzas") path = "Reportes/Bitacora.xlsx"
└─ body:
Excel Online — Append rows sheet = "Log" values = registro