Comment créer des étiquettes à partir de fichiers de données Excel et de tables de correspondance
Vos commandes sont dans Excel. Vos noms de produits sont dans Excel. Vos adresses sont dans Excel. Et pourtant, chaque fois que vous avez besoin d’étiquettes, quelqu’un ouvre le tableur, copie une ligne, la colle dans un modèle, enregistre un PDF, et recommence — quarante fois. Ou pire, quelqu’un a écrit un script fragile il y a deux ans qui casse dès qu’une colonne est renommée.
Cet article explore l’alternative : utiliser un fichier Excel comme source de données et un second fichier Excel (ou une seconde feuille) comme table de correspondance, puis produire des étiquettes finies sous forme de PDF multipage, de PNG individuels ou d’une sortie directe vers l’imprimante — sans copier-coller et sans maintenir un parseur.
Ce que vous aurez à la fin :
- Un fichier de données avec une ligne par étiquette et une ligne d’en-tête qui devient vos noms de champs.
- Une table de correspondance qui résout des clés comme
SKUen noms de produits complets ou en catégories. - Une mise en page d’étiquette dans le studio d’étiquettes LPSNG avec des champs mappés aux colonnes du tableur.
- Une tâche reproductible : modifiez le tableur, relancez, obtenez de nouvelles étiquettes.
Le Next Generation Label Printing System gère le rendu, la file d’attente des tâches et la sortie pour vous. Si vous souhaitez transformer des valeurs de champs individuelles avec Python plutôt qu’un simple mapping, cela est traité séparément dans Label Printing API for Python Developers: Field Scripting — cet article reste sur la voie du tableur.
Prérequis : ce dont vous avez besoin avant de commencer
- Une édition RSJ LPSNG avec accès au studio d’étiquettes et à la file d’attente des tâches. La Cloud Solution, l’Embedded Edition (un ordinateur monocarte tel qu’un Raspberry Pi) et les Enterprise Features exposent tous la même fonctionnalité de base.
- Votre fichier de données Excel, une ligne par étiquette — par exemple numéro d’article, description, prix.
- Éventuellement un fichier de correspondance séparé (ou une feuille séparée) faisant correspondre une clé — par exemple le numéro d’article — au texte que vous voulez réellement sur l’étiquette, comme le nom complet du produit ou la catégorie.
- Une mise en page d’étiquette. Soit une que vous avez construite dans le studio d’étiquettes LPSNG, soit une mise en page existante que vous souhaitez alimenter avec les données du tableur.
- Une idée claire de la colonne qui appartient à quel champ. Esquissez-la sur papier si nécessaire ; cinq minutes ici vous font gagner une heure de remappage.
L’interface Excel est documentée sur lpsng.rsj.de/en/excel. Aucune installation locale n’est requise au-delà de votre navigateur ; la configuration de votre imprimante est le seul élément local.
Étape 1 : préparer votre fichier de données Excel et votre table de correspondance
Structurez le fichier de données avec une ligne d’en-tête, car chaque en-tête de colonne devient un champ nommé que vous pourrez mapper plus tard.
SKU,Description,Price,Quantity
A-1001,Steel bracket 40mm,4.90,1
A-1002,Steel bracket 60mm,5.40,2
A-1003,Aluminium bracket 40mm,6.10,1
Ensuite, construisez la table de correspondance comme une feuille ou un fichier séparé avec une colonne clé et les valeurs à fusionner :
[
{ "SKU": "A-1001", "ProductName": "Steel Bracket, 40 mm, galvanised", "Category": "Hardware" },
{ "SKU": "A-1002", "ProductName": "Steel Bracket, 60 mm, galvanised", "Category": "Hardware" },
{ "SKU": "A-1003", "ProductName": "Aluminium Bracket, 40 mm", "Category": "Hardware" }
]
Quelques règles qui évitent la plupart des problèmes en aval :
- Gardez des clés cohérentes. Même orthographe, même format, même casse des deux côtés.
- Supprimez les cellules fusionnées et les lignes vides. Elles cassent le mapping des colonnes et peuvent décaler la ligne d’en-tête détectée.
- Attention aux zéros initiaux. Si
SKUvaut0042, forcez la colonne en texte dans Excel — sinon la clé arrive comme42et la correspondance échoue silencieusement. - Un seul fichier suffit. Vous pouvez utiliser le même classeur pour les données et la correspondance en les plaçant sur des feuilles séparées.
Avant de téléverser, une vérification rapide dans pandas détecte les incohérences de clés tôt :
import pandas as pd
data = pd.read_excel("orders-october.xlsx", sheet_name="Data", dtype=str)
lookup = pd.read_excel("orders-october.xlsx", sheet_name="Products", dtype=str)
# Normalise the join key identically on both sides.
for df in (data, lookup):
df["SKU"] = df["SKU"].str.strip().str.upper()
orphans = sorted(set(data["SKU"]) - set(lookup["SKU"]))
print(f"{len(data)} data rows, {len(orphans)} keys without a lookup entry")
print(orphans)
Si orphans est vide, votre correspondance se résoudra pour chaque ligne.
Étape 2 : concevoir ou ouvrir votre mise en page d’étiquette dans LPSNG
Ouvrez le studio d’étiquettes LPSNG et créez une nouvelle mise en page ou ouvrez-en une existante.
- Ajoutez des champs texte pour les descriptions et les prix, des champs code-barres pour le numéro d’article, et des champs image si vous voulez un logo ou une photo de produit.
- Nommez chaque champ de manière significative —
field_product_name,field_price,field_sku— afin que le mapping de la colonne du tableur vers le champ de l’étiquette soit évident dans six mois. Pour le volet code-barres, les formats 1D et 2D pris en charge sont listés sur lpsng.rsj.de/en/barcode. - Réservez suffisamment d’espace. Les valeurs du tableur ne sont pas uniformes : la première ligne peut être une description courte, la cinquantième peut passer sur trois lignes. Laissez de la place plutôt que de réduire la police plus tard.
- Ne transformez les valeurs que si nécessaire. Formater un prix, concaténer deux colonnes ou calculer une clé de contrôle est le travail d’un bloc de script Python attaché au champ, documenté dans la référence de l’API Python sur lpsng.rsj.de/api.
Enregistrez la mise en page. Elle devient le modèle pour chaque ligne de votre fichier Excel — le travail de conception se fait une seule fois.
Étape 3 : mapper les colonnes Excel aux champs d’étiquette
Dans l’interface Excel de LPSNG, téléversez ou sélectionnez votre classeur comme source de données, puis assignez chaque colonne à un champ. Pour les valeurs de correspondance, spécifiez la feuille ou le fichier de correspondance et la colonne clé ; LPSNG résout la correspondance par ligne avant le rendu, de sorte que le champ de l’étiquette reçoit la valeur fusionnée, et non la clé brute.
L’interface de mapping exprime quelque chose comme ceci — l’interface écrit la configuration pour vous :
# Illustrative shape of the mapping you configure in the Excel interface.
layout: product-label
data_source:
file: orders-october.xlsx
sheet: Data
fields:
field_sku: SKU
field_description: Description
field_price: Price
lookup:
file: orders-october.xlsx
sheet: Products
key: SKU
merge:
field_product_name: ProductName
field_category: Category
output:
format: pdf
Ensuite, prévisualisez le mapping avec les premières lignes. La prévisualisation est l’endroit où vous détectez une colonne décalée d’un cran ou un prix qui atterrit dans le champ description — avant de brûler un rouleau d’étiquettes.
C’est l’alternative gérée à l’écriture d’un parseur personnalisé ou au câblage d’un pipeline en ligne de commande : le mapping lui-même ne nécessite aucun code.
Étape 4 : rendre les étiquettes en PDF, PNG ou les envoyer à l’impression
Choisissez votre sortie :
- PDF multipage — idéal pour l’archivage, l’e-mail ou la remise à un imprimeur.
- Images PNG individuelles — pour l’intégration dans un autre système ou un front-end web.
- Impression directe — sélectionnez l’imprimante, et la file d’attente des tâches traite chaque ligne comme une étiquette séparée.
- JSON — lorsqu’un système en aval a besoin du résultat rendu ou des données résolues plutôt que du papier.
Pour l’automatisation, pilotez la même tâche depuis le code. L’API du service web soumet des tâches d’impression, rend des étiquettes individuelles en PDF ou PNG, et prend en charge l’impression directe ; l’authentification utilise OAuth2, documenté sur lpsng.rsj.de/en/webservice. Le LPSNG Player autonome prend un package plus des données en entrée et écrit du PDF, du PNG, du JSON, ou envoie à une imprimante :
# Endpoint paths, flags and payload fields are documented on the web service
# and Player pages — the shape below is illustrative only.
curl -X POST "https://<your-lpsng-host>/…" -H "Authorization: Bearer $LPSNG_TOKEN" -d '{ "layout": "product-label", "data": "orders-october.xlsx", "output": "pdf" }'
lpsng-player --package product-label --data orders-october.xlsx --output pdf
Si votre équipe vit dans Google Sheets plutôt que dans Excel, le Google Sheets Add-on offre le même flux de création et d’impression dans le navigateur. Et tout le rendu se fait côté serveur — vous n’installez pas de polices ni de pilotes localement au-delà de la configuration de votre imprimante.
Étape 5 : vérifier la sortie et contrôler les correspondances
Un rendu réussi n’est pas la même chose qu’un rendu correct. Vérifiez les artefacts :
- Contrôlez plusieurs étiquettes par rapport aux lignes sources — première ligne, dernière ligne, et tout ce qui présente un formatage inhabituel.
- Confirmez que les correspondances se sont résolues. Si l’étiquette affiche
A-1002là où vous attendiez « Steel Bracket, 60 mm, galvanised », la clé ne correspondait pas. - Scannez quelques codes-barres avec un lecteur et comparez la valeur décodée aux données prévues. How to Verify Barcodes Before Printing Labels contient une liste de contrôle plus complète.
- Lisez la file d’attente des tâches. Les lignes qui ont échoué ou ont été ignorées y apparaissent, généralement avec la valeur fautive ou l’erreur de script.
- Si vous avez attaché des scripts de champ, confirmez que les transformations ont été appliquées — un format de date mal appliqué est facile à manquer jusqu’à ce que quelqu’un lise une étiquette sur une étagère.
Dépannage des problèmes courants
Les étiquettes s’impriment avec des champs vides. Vérifiez que les en-têtes de colonnes correspondent exactement aux noms de champs mappés, et que le fichier de données n’a pas de lignes vides en tête au-dessus de l’en-tête. Une seule ligne vide en haut décale tout.
Une correspondance ne renvoie rien. Les colonnes clés doivent correspondre sur la casse, les espaces environnants et les zéros initiaux. Normalisez les deux côtés comme indiqué à l’étape 1.
Les codes-barres se scannent incorrectement. Vérifiez que le champ code-barres est mappé à la bonne colonne, et que le format choisi peut porter la longueur de données que vous encodez.
Le rendu échoue pour certaines lignes seulement. Inspectez la file d’attente des tâches pour les messages d’erreur. Les causes courantes sont une valeur manquante requise par la mise en page, ou une erreur de script dans un bloc de champ.
L’imprimante ne reçoit rien. Confirmez que l’imprimante est en ligne et sélectionnée dans les paramètres de sortie. Pour les scénarios Google Cloud Print, consultez la documentation Cloud Printing.
FAQ
Puis-je utiliser le même fichier Excel pour les données et la correspondance ? Oui. Placez vos données sur une feuille et votre table de correspondance sur une autre feuille du même classeur. Lors du mapping, sélectionnez la feuille appropriée pour chaque rôle. Assurez-vous simplement que la colonne clé utilisée pour les correspondances est cohérente entre les deux feuilles.
Dois-je écrire du code pour mapper les colonnes Excel aux champs d’étiquette ? Non. L’interface Excel de LPSNG fournit une interface de mapping où vous assignez les colonnes du tableur aux champs d’étiquette. Vous n’avez besoin de code que si vous voulez transformer des valeurs — par exemple, formater un prix ou concaténer des champs — ce que vous pouvez faire avec des blocs de script Python attachés aux champs (voir la documentation de l’API Python).
Quels formats de sortie puis-je générer à partir de données Excel ? Vous pouvez générer des PDF multipages, des images PNG individuelles, envoyer des tâches directement à une imprimante, ou produire du JSON. L’API du service web et le LPSNG Player prennent en charge ces sorties, vous pouvez donc intégrer le rendu dans vos propres applications.
Comment mettre à jour les étiquettes lorsque le fichier Excel change ? Téléversez simplement à nouveau le fichier Excel mis à jour ou relancez la tâche avec les nouvelles données. LPSNG applique la même mise en page d’étiquette et le même mapping, vous n’avez donc rien à reconcevoir. La file d’attente des tâches traitera les nouvelles lignes et produira des étiquettes mises à jour.
Conclusion : du tableur aux étiquettes prêtes pour l’étagère
Le flux de travail est court : préparez vos données Excel et votre table de correspondance, concevez la mise en page une fois, mappez les colonnes aux champs, rendez, vérifiez. Rien dans cette liste ne vous oblige à écrire un parseur ou à surveiller un script.
Next Generation Label Printing System fait le gros du travail — rendu, file d’attente des tâches, résolution des correspondances et sortie — afin que vous puissiez consacrer votre temps aux données plutôt qu’à la plomberie. Il fonctionne de la même manière que vous produisiez dix étiquettes ou dix mille, et l’API du service web permet à d’autres systèmes de déclencher les mêmes tâches par programmation.
Essayez l’interface Excel dans votre édition LPSNG — cloud, embarquée ou entreprise — et si votre équipe préfère les tableurs dans le navigateur, jetez un œil au Google Sheets Add-on pour le même flux de travail dans votre navigateur.
Articles connexes
- Zebra Designer Alternative for Developers: What to Compare
- How to Connect ESL Tags to Items via API
- What a Vendor-Neutral ESL Interface Means for Developers
