Saltar al contenido principal

Actualizar filas en Excel

PDF4me Actualizar filas es un REST punto final que escribe JSON datos en filas existentes de un Excel libro de ejercicios. POST el .xlsx como Base64 a office/ApiV2Excel/ExcelUpdateRows con sus datos en jsonInput, filas objetivo por Excel nombre de la tabla o por coordenadas basadas en 1, luego decodifique el libro de trabajo actualizado desde el JSON Respuesta. La conversión numérica y de fechas es automática por defecto.

Lo que hace este punto final

Toma un libro de ejercicios más un JSON matriz de objetos y escribe esos valores en filas existentes: precios actualizados en una lista de precios, registros corregidos en un informe, campos sincronizados de su CRMUsted elige dónde se almacenan los datos con uno de dos modos de segmentación, un nombre Excel tabla o coordenadas exactas de fila y columna. La respuesta es JSON con el libro de trabajo actualizado como Base64 contenido.

Entradas de blog relacionadas
Aún no hay ninguna entrada de blog sobre esta función; estará disponible próximamente.
Mientras tanto, echa un vistazo al blog de PDF4me para encontrar tutoriales y flujos de trabajo para todas las plataformas.
Visita el blog

Autenticando su API Pedido

Cada PDF4me REST La llamada debe incluir su API clave en el Authorization Encabezado como autenticación básica. Obtenga o cambie su clave desde el panel de desarrollador.

Punto final

POSToficina/ApiV2Excel/ExcelUpdateRows

Datos importantes que no debes perderte

jsonInput es una cadena, no un JSON matriz
Los datos de actualización viajan como un escape JSON cuerda en el interior Entrada jsonEl envío de un array sin procesar es la causa más común de un error 400 en este endpoint. Serialice primero y luego incruste.
Dos modos de segmentación, elegidos por tableName
Un no vacío nombre de la tabla cambia al modo de tabla con Número de fila de Excel; uno vacío significa modo de coordenadas con insertardesdefila/insertarDesdeColumnaTodos los puestos son de base 1.
La respuesta es Base64 JSON, no el archivo
El libro de trabajo actualizado regresa como un Base64 cuerda dentro de un JSON cuerpo con fileName, success, y mensaje de errorDecodifícalo antes de guardarlo; la respuesta sin procesar no es un archivo .xlsx válido.

HTTP configuración

Método: POST
URL: https://api.pdf4me.com/office/ApiV2Excel/ExcelUpdateRows
Tipo de contenido: aplicación/json
Authorization: Básico <tu PDF4me API clave>

La respuesta es JSON: comprobar el success bandera, entonces Base64-decodificar el contenido del libro de trabajo devuelto y guardarlo con un .xlsx extensión.

¿Debo usar el modo tabla o el modo coordenadas?

Los dos modos ofrecen diseños de hoja de cálculo diferentes, y elegir el incorrecto suele ser la razón por la que una actualización se guarda en las celdas equivocadas.

Modo de tabla frente a modo de coordenadasModo mesaModo de coordenadas
Cómo seleccionarloColocar tableName a un nombre Excel mesaDejar tableName vacío
¿Dónde se almacenan los datos?Fila excelRowNumber dentro de la tabla (base 1)Comenzando en insertFromRow/insertFromColumn (Base 1, por lo que 1/1 es A1)
Coincidencia de columnasJSON Los nombres de las propiedades se corresponden con los encabezados de las columnas de la tabla.Valores escritos de izquierda a derecha desde la columna inicial.
Sobrevive a los cambios de diseñoSí, la actualización sigue a la tabla si esta se mueve.No, las coordenadas son posiciones fijas.
Lo mejor paraHojas de trabajo estructuradas con datos reales Excel tablasRangos simples y hojas ad hoc

API campos corporales

ParámetroRequeridoTipoLo que haceEjemplo
documentRequiredobjectDocument reference carrying Name, the Excel filename with its extension.{ "Name": "data.xlsx" }
docContentRequiredstringBase64-encoded bytes of the workbook to update.UEsDBBQABgAIAAAA...
updateRowsToExcelActionRequiredobjectAction configuration object holding jsonInput and all targeting options below.{ "jsonInput": "..." }
jsonInputRequiredstringInside the action object. A STRING containing an escaped JSON array of objects; property names become column targets in table mode."[{\"Name\":\"John\",\"Age\":31}]"
worksheetNameOptionalstringInside the action object. Target worksheet; defaults to the first sheet when omitted.Sheet1
tableNameConditionalstringInside the action object. Names the Excel table for table mode. Empty or omitted switches the action to coordinate mode.SalesTable
excelRowNumberConditionalnumberInside the action object. Table mode only: the 1-based row position within the table to update.5
insertFromRowConditionalnumberInside the action object. Coordinate mode only: the 1-based worksheet row where writing starts.10
insertFromColumnConditionalnumberInside the action object. Coordinate mode only: the 1-based worksheet column where writing starts.1
convertNumericAndDateOptionalbooleanInside the action object. true (default) writes numeric-looking and date-looking values as real Excel numbers and dates instead of text.true
cultureNameOptionalstringInside the action object. Culture used to parse dates and numbers, for example en-US or de-DE. Pair with convertNumericAndDate.en-US

Cargas útiles de ejemplo

Modo tabla: actualizar la fila 5 de una tabla con nombre.

{
"document": { "Name": "sales.xlsx" },
"docContent": "UEsDBBQABgAIAAAA...",
"updateRowsToExcelAction": {
"jsonInput": "[{\"Region\":\"EMEA\",\"Revenue\":125000}]",
"worksheetName": "Q3",
"tableName": "SalesTable",
"excelRowNumber": 5
}
}

Modo de coordenadas: escribir comenzando en la celda A10

{
"document": { "Name": "data.xlsx" },
"docContent": "UEsDBBQABgAIAAAA...",
"updateRowsToExcelAction": {
"jsonInput": "[{\"Name\":\"John\",\"Age\":31},{\"Name\":\"Ana\",\"Age\":28}]",
"insertFromRow": 10,
"insertFromColumn": 1,
"convertNumericAndDate": true,
"cultureName": "en-US"
}
}

Consejos para el cobro de carteros

Headers
Content-Type: application/json + Authorization: Basic <apiKey>.
Body
raw JSON. jsonInput must be a string: escape the inner quotes or use your HTTP library to serialize the array first, then assign it as a string.
Targeting
tableName set = table mode with excelRowNumber. tableName empty = coordinate mode with insertFromRow/insertFromColumn. Both are 1-based.
Response
JSON with a success flag and Base64 workbook content. Decode the document field before saving as .xlsx.

Ejemplo de curl

curl -X POST https://api.pdf4me.com/office/ApiV2Excel/ExcelUpdateRows \
-H "Content-Type: application/json" \
-H "Authorization: Basic YOUR_API_KEY" \
-d '{
"document": { "Name": "data.xlsx" },
"docContent": "'"$(base64 -w 0 data.xlsx)"'",
"updateRowsToExcelAction": {
"jsonInput": "[{\"Name\":\"John\",\"Age\":31}]",
"insertFromRow": 10,
"insertFromColumn": 1
}
}' \
--output response.json

¿Qué significa el API ¿devolver?

A JSON resultado que contiene el libro de trabajo actualizado como Base64.

CampoTipoLo que contiene
documentString (Base64)The updated workbook content. Decode to bytes and save with an .xlsx extension.
fileNameStringOutput filename for the updated workbook.
successBooleantrue when the update succeeded. Check this before decoding content.
errorMessageStringPopulated when success is false: malformed jsonInput, a missing table or worksheet, or invalid Base64.

La salida sigue siendo estándar. Oficina abierta XML Se trata de un libro de trabajo, por lo que las fórmulas, el formato y las hojas que se encuentran fuera de las celdas actualizadas permanecen intactas.

Ejemplos de código

Excel Los puntos finales de la oficina aún no están cubiertos por per-language carpetas de muestra; el repositorio de muestras contiene el patrón de solicitud utilizado por cada PDF4me familia de puntos finales:

Preguntas frecuentes

Why does the API reject my jsonInput with a 400 error?+
jsonInput is a string field that contains JSON, so the inner quotes must be escaped. Sending a raw JSON array instead of a string-encoded one is the most common cause of a 400 Bad Request on this endpoint.
Should I use table mode or coordinate mode?+
Use table mode (tableName plus excelRowNumber) when the worksheet has a named Excel table: the update follows the table even if it moves. Use coordinate mode (insertFromRow and insertFromColumn, tableName empty) for plain ranges at fixed positions.
Are the row and column numbers 0-based or 1-based?+
1-based. insertFromRow 1 and insertFromColumn 1 address cell A1, and excelRowNumber 1 is the first data row of the table. This differs from some other PDF4me Excel actions where worksheet indexes are 0-based.
Is the response the Excel file itself?+
No. The API returns JSON containing the updated workbook as a Base64 string plus fileName, success, and errorMessage fields. Decode the document field to bytes before saving as .xlsx.
How are numbers and dates handled?+
convertNumericAndDate defaults to true, so values that look like numbers or dates are written as real Excel numbers and dates rather than text. Pair it with cultureName so formats like 31.12.2026 or 12/31/2026 parse correctly.
What is the difference between Update Rows and Add Rows?+
Update Rows overwrites values in rows that already exist at the targeted position. Add Rows appends or inserts new rows. If you point Update Rows at empty cells it simply writes the values there; it does not shift existing data down.
Can I update rows in a protected workbook?+
No. Protection blocks editing. Chain the Unlock Excel action first with the correct password, run the update, then re-apply protection with Secure Excel Document if needed.

¿Por qué actualizar? Excel filas a través de API ¿En lugar de hacerlo manualmente?

La ruta manual consiste en abrir cada libro de trabajo, encontrar las filas, volver a escribir los valores y guardar: viable una vez, inviable para una sincronización nocturna desde un CRM o base de datos. El API realiza la misma edición que una solicitud determinista por archivo, mantiene Excel tablas intacto y nunca necesita Excel instalado en el servidor. La salida es un estándar Oficina abierta XML El libro de trabajo está listo para el siguiente paso en el proceso.

Acciones relacionadas

La misma tarea en otras plataformas.

Obtén ayuda