Aller au contenu principal

Mettre à jour les lignes dans Excel

PDF4me Mettre à jour les lignes est un REST point de terminaison qui écrit JSON insérer des données dans les lignes existantes d'un Excel cahier d'exercices. POST le fichier .xlsx comme Base64 à office/ApiV2Excel/ExcelUpdateRows avec vos données dans jsonInput, lignes cibles par Excel nom de la table ou coordonnées à partir de 1, puis décodez le classeur mis à jour à partir de JSON La conversion numérique et de date est automatique par défaut.

Que fait ce point de terminaison ?

Nécessite un cahier d'exercices et un JSON tableau d'objets et écrit ces valeurs dans les lignes existantes : prix actualisés dans une grille tarifaire, enregistrements corrigés dans un rapport, champs synchronisés depuis votre CRMVous choisissez la destination des données grâce à l'un des deux modes de ciblage, nommé. Excel Tableau ou coordonnées exactes de ligne et de colonne. La réponse est JSON avec le classeur mis à jour comme Base64 contenu.

Articles de blog connexes
Il n'y a pas encore d'article de blog consacré à cette fonctionnalité — à venir prochainement.
En attendant, n'hésitez pas à consulter le blog de PDF4me pour découvrir des tutoriels et des procédures de travail adaptés à toutes les plateformes.
Consultez le blog

Authentification de votre API Demande

Chaque PDF4me REST L'appel doit inclure votre API clé dans le Authorization En-tête : Authentification de base. Récupérez ou renouvelez votre clé depuis le tableau de bord développeur.

Point de terminaison

POSTbureau/ApiV2Excel/ExcelUpdateRows

Informations importantes à ne pas manquer

jsonInput est une chaîne de caractères, pas un JSON tableau
Les données de mise à jour circulent comme un échappement JSON chaîne à l'intérieur Entrée JSONL'envoi d'un tableau brut est la cause la plus fréquente d'une erreur 400 sur ce point de terminaison. Il faut d'abord sérialiser les données, puis les intégrer.
Deux modes de ciblage, choisis par nom de table
Un non-vide Nom de la table passe en mode table avec numéro de ligne Excel; une case vide signifie mode de coordonnées avec insérerDepuisLaLigne/insérerDepuisColonneToutes les positions sont indexées à 1.
La réponse est Base64 JSON, pas le fichier
Le classeur mis à jour revient sous la forme d'un Base64 une chaîne à l'intérieur d'un JSON corps avec fileName, success, et message d'erreurDécodez-le avant de l'enregistrer ; la réponse brute n'est pas un fichier .xlsx valide.

HTTP installation

Méthode: POST
URL: https://api.pdf4me.com/office/ApiV2Excel/ExcelUpdateRows
Type de contenu : application/json
Authorization: Basique <votre PDF4me API clé>

La réponse est : JSON: vérifiez le success drapeau, puis Base64-décoder le contenu du classeur renvoyé et l'enregistrer avec un .xlsx extension.

Dois-je utiliser le mode tableau ou le mode coordonnées ?

Ces deux modes correspondent à des mises en page de feuilles de calcul différentes, et choisir le mauvais est la raison habituelle pour laquelle une mise à jour se retrouve dans les mauvaises cellules.

Mode tableau vs mode coordonnéesMode tableauMode coordonnées
Comment le sélectionnerEnsemble tableName à un nommé Excel tableauPartir tableName vide
Où atterrissent les donnéesRangée excelRowNumber à l'intérieur du tableau (à partir de 1)À partir de insertFromRow/insertFromColumn (Basé sur 1, donc 1/1 est A1)
Correspondance des colonnesJSON Les noms des propriétés correspondent aux en-têtes de colonnes du tableau.Valeurs écrites de gauche à droite à partir de la colonne de départ
Résiste aux modifications de mise en pageOui, la mise à jour suit le tableau s'il se déplace.Non, les coordonnées sont des positions fixes
Idéal pourFiches de travail structurées avec de vrais Excel tablesGammes simples et feuilles ad hoc

API champs corporels

ParamètreRequisTaperCe que cela faitExemple
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

Exemples de charges utiles

Mode tableau : mettre à jour la ligne 5 d’un tableau nommé

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

Mode de coordonnées : écriture à partir de la cellule 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"
}
}

Conseils pour la collecte par le facteur

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.

Exemple 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

Que signifie le API retour?

UN JSON résultat contenant le classeur mis à jour Base64.

ChampTaperCe qu'il contient
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 production reste conforme aux normes Office Open XML Le classeur reste intact, les formules, la mise en forme et les feuilles situées en dehors des cellules mises à jour ne sont donc pas affectées.

Exemples de code

Excel Les terminaux de bureau ne sont pas encore couverts par per-language dossiers d'exemples ; le dépôt d'exemples contient le modèle de requête utilisé par chaque PDF4me famille de points de terminaison :

FAQ

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.

Pourquoi mettre à jour ? Excel lignes via API au lieu de manuellement ?

La méthode manuelle consiste à ouvrir chaque classeur, à trouver les lignes, à ressaisir les valeurs et à enregistrer : utilisable ponctuellement, mais impraticable pour une synchronisation nocturne à partir d’un CRM ou base de données. API effectue la même modification qu'une requête déterministe par fichier, conserve Excel tables intacte, et n'a jamais besoin Excel installé sur le serveur. Le résultat est un standard Office Open XML Le classeur est prêt pour la prochaine étape du processus.

Actions connexes

Même tâche sur d'autres plateformes

Obtenez de l'aide