Ir al contenido

Excel Online — Write range

Tipo: excelonline-write-range  ·  Paquete: Excel Online v1.0.4

Escribe un conjunto de valores en un rango concreto. El rango debe coincidir con las dimensiones de los datos (mismas filas y columnas). Te da control total de dónde caen los datos, por ejemplo para llenar una zona de una plantilla.

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); se escriben solo los valores de las filas, sin la fila de nombres de columna. El cambio se guarda automáticamente.

Detalles a tener en cuenta:

  • El rango debe tener exactamente tantas filas como la tabla y tantas columnas como la tabla. Una tabla de 10 filas y 3 columnas va en A2:C11. Si no quieres calcularlo, usa Write sheet (desde A1) o Append rows (al final).
  • Para escribir también los encabezados, escríbelos antes en la primera fila con otra Write range de un DataRow, o con Write cell.
  • Las celdas con valor nulo (DBNull) en la tabla no se tocan: conservan lo que hubiera. Para dejarlas vacías, borra antes el rango con Clear range.
  • Números y booleanos se envían como tales; el resto de valores (fechas incluidas), como texto. El formato de las celdas se conserva.
  • La tabla debe tener al menos una fila; sin filas no coincide con ningún rango.
ParámetroTipoPor defectoDescripción
sheetstring—Nombre de la hoja.
rangestring—Rango de destino en notación A1. Debe coincidir con las dimensiones de los datos. Ej.: A2:C11.
valuesDataTable | DataRow—La DataTable a escribir (o un DataRow para una sola fila); solo valores.
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.

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. / 'range' 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, un arreglo, un texto). Construye la tabla con Build DataTable.
InvalidArgument (Microsoft Graph, 400)El tamaño del rango no coincide con el de los datos, o la dirección no es válida. Calcula el rango a partir de tabla.Rows.Count y tabla.Columns.Count.
itemNotFound (Microsoft Graph, 404)No existe una hoja con ese nombre.
Build DataTable
columns = arr("Mes", "Total")
rows = arr(arr("Junio", 1500), arr("Julio", 1720))
→ output: resumen
Excel Online — Connect credential = credential("m365-finanzas") path = "Reportes/Reporte.xlsx"
└─ body:
Excel Online — Write range sheet = "Datos" range = "A2:B" + (resumen.Rows.Count + 1) values = resumen