Pular para o conteúdo principal

Atualizar linhas em Excel

PDF4me Atualizar linhas é um REST ponto final que escreve JSON dados em linhas existentes de um Excel caderno de exercícios. POST o arquivo .xlsx como Base64 para office/ApiV2Excel/ExcelUpdateRows com seus dados em jsonInput, linhas de destino por Excel nome da tabela ou por coordenadas baseadas em 1, depois decodifique a planilha atualizada a partir do JSON resposta. A conversão numérica e de data é automática por padrão.

O que este endpoint faz

Requer um livro de exercícios mais um JSON array de objetos e grava esses valores em linhas existentes: preços atualizados em uma tabela de preços, registros corrigidos em um relatório, campos sincronizados do seu CRMVocê escolhe onde os dados serão enviados com um dos dois modos de segmentação, um nomeado. Excel tabela ou coordenadas exatas de linha e coluna. A resposta é JSON com a planilha atualizada como Base64 contente.

Artigos relacionados no blogue
Ainda não há nenhuma publicação no blogue sobre esta funcionalidade — em breve.
Entretanto, explore o blogue da PDF4me para encontrar tutoriais e fluxos de trabalho para todas as plataformas.
Visite o blogue

Autenticando seu API Solicitar

Todo PDF4me REST A chamada deve incluir o seu API chave no Authorization Defina o cabeçalho como autenticação básica. Obtenha ou altere sua chave no painel do desenvolvedor.

Ponto final

POSToffice/ApiV2Excel/ExcelUpdateRows

Fatos importantes que você não deve perder

jsonInput é uma string, não um JSON variedade
Os dados de atualização viajam como um escape. JSON corda dentro jsonInputO envio de um array bruto é a causa mais comum de um erro 400 neste endpoint. Serialize primeiro e depois incorpore o array.
Dois modos de segmentação, escolhidos por nomeDaTabela
Um não vazio nomedatabela alterna para o modo de tabela com excelRowNumber; um vazio significa modo de coordenadas com inserirDaLinha/inserirDaColunaTodas as posições são baseadas em 1.
A resposta é Base64 JSON, não o arquivo
A planilha atualizada retorna como um Base64 corda dentro de um JSON corpo com fileName, success, e mensagem de erroDecodifique o arquivo antes de salvar; a resposta bruta não é um arquivo .xlsx válido.

HTTP configurar

Método: POST
URL: https://api.pdf4me.com/office/ApiV2Excel/ExcelUpdateRows
Tipo de conteúdo: aplicativo/json
Authorization: Básico <seu PDF4me API chave>

A resposta é JSON: verifique o success bandeira, então Base64-decodificar o conteúdo da planilha retornada e salvá-lo com um .xlsx extensão.

Devo usar o modo de tabela ou o modo de coordenadas?

Os dois modos servem a layouts de planilha diferentes, e escolher o modo errado é o motivo mais comum para uma atualização ser aplicada nas células erradas.

Modo de tabela versus modo de coordenadasModo de tabelaModo de coordenadas
Como selecioná-loDefinir tableName para um nomeado Excel mesaDeixar tableName vazio
Onde os dados são depositadosLinha excelRowNumber dentro da tabela (base 1)Começando em insertFromRow/insertFromColumn (Baseado em 1, então 1/1 é A1)
Correspondência de colunasJSON Os nomes das propriedades correspondem aos cabeçalhos das colunas da tabela.Valores escritos da esquerda para a direita a partir da coluna inicial.
Sobrevive a alterações de layoutSim, a atualização acompanha a tabela se ela se mover.Não, as coordenadas são posições fixas.
Ideal paraPlanilhas estruturadas com exemplos reais. Excel tabelasPlanilhas simples e folhas ad hoc

API campos corporais

ParâmetroObrigatórioTipoO que fazExemplo
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

Exemplos de cargas úteis

Modo de tabela: atualizar a linha 5 de uma tabela nomeada.

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

Modo de coordenadas: escreva a partir da célula 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"
}
}

Dicas de coleta do carteiro

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.

exemplo 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

O que significa o API retornar?

A JSON resultado contendo a planilha atualizada como Base64.

CampoTipoO que contém
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.

A saída permanece dentro do padrão. Escritório aberto XML planilha, portanto, fórmulas, formatação e planilhas fora das células atualizadas permanecem intactas.

Exemplos de código

Excel Os endpoints de escritório ainda não são cobertos por per-language pastas de exemplo; o repositório de exemplos contém o padrão de requisição usado por todos. PDF4me família de endpoints:

Perguntas frequentes

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 que atualizar? Excel linhas via API em vez de manualmente?

O método manual consiste em abrir cada planilha, localizar as linhas, digitar os valores novamente e salvar: funciona uma vez, mas não é viável para uma sincronização noturna. CRM ou banco de dados. O API faz a mesma edição que uma solicitação determinística por arquivo, mantém Excel tabelas intacto, e nunca precisa Excel instalado no servidor. A saída é um padrão Escritório aberto XML Planilha pronta para a próxima etapa do processo.

Ações relacionadas

A mesma tarefa em outras plataformas.

Obtenha ajuda