← Tutti gli articoli

2026-10-20

Come creare etichette da file di dati Excel e tabelle di ricerca

Come creare etichette da file di dati Excel e tabelle di ricerca
pdf labels barcodes label merge browser based graphical layout editor google sheets addin microsoft excel addon electronic shelf labels esl barcode3 labels label editor

Excel 数据文件和查找表创建标签的方法

你的订单在 Excel 里。你的产品名称在 Excel 里。你的地址在 Excel 里。然而,每次你需要标签时,总有人打开电子表格,复制一行,粘贴到模板中,保存为 PDF,然后重复——重复四十次。更糟的是,有人在两年前写了一个脆弱的脚本,每当列名被重命名时就会出错。

本文介绍另一种方法:使用一个 Excel 文件作为数据源,用第二个 Excel 文件(或第二个工作表)作为查找表,然后生成成品标签,输出为多页 PDF、单独的 PNG 图片或直接发送到打印机——无需复制粘贴,也无需维护解析器。

最终你将获得:

  • 一个数据文件,每行对应一个标签,表头行将成为你的字段名称。
  • 一个查找表,将 SKU 等键解析为完整的产品名称或类别。
  • 在 LPSNG 标签工作室中设计的标签布局,字段已映射到电子表格列。
  • 一个可重复的作业流程:修改电子表格,重新运行,获得新标签。

Next Generation Label Printing System 为你处理渲染、作业队列和输出。如果你想用 Python 转换单个字段值而不是简单的映射,这在 面向 Python 开发者的标签打印 API:字段脚本 中单独介绍——本文专注于电子表格路径。

前提条件:开始之前你需要什么

  • 一个具有标签工作室和作业队列访问权限的 RSJ LPSNG 版本。 Cloud Solution、Embedded Edition(如 Raspberry Pi 之类的单板计算机)和 Enterprise Features 都提供相同的核心功能。
  • 你的 Excel 数据文件,每行对应一个标签——例如商品编号、描述、价格。
  • 可选的一个单独的查找文件(或单独的工作表),将键——例如商品编号——映射到你实际想要显示在标签上的文本,如完整的产品名称或类别。
  • 一个标签布局。 可以是你在 LPSNG 标签工作室中构建的布局,也可以是想要用电子表格数据填充的现有布局。
  • 清楚知道哪一列属于哪个字段。 如有需要,先在纸上画出来;这里花五分钟可以节省一小时的重新映射时间。

Excel 接口的文档位于 lpsng.rsj.de/en/excel。除了浏览器之外,无需本地安装;打印机设置是唯一需要在本地完成的部分。

步骤 1:准备 Excel 数据文件和查找表

将数据文件结构化为带有表头行的格式,因为每个列标题都会成为你之后可以映射的命名字段。

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

然后将查找表构建为单独的工作表或文件,包含一个键列和要合并的值:

[
  { "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" }
]

几条规则可以避免大多数后续的麻烦:

  • 保持键一致。 两边的拼写、格式和大小写都要相同。
  • 删除合并单元格和空行。 它们会破坏列映射,并可能使检测到的表头行发生偏移。
  • 注意前导零。 如果 SKU 是 0042,请在 Excel 中将该列强制设为文本——否则键会变成 42,查找会静默失败。
  • 一个文件就够了。 你可以将数据和查找表放在同一个工作簿的不同工作表中。

在上传之前,用 pandas 快速做一次健全性检查,可以及早发现键不匹配的问题:

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)

如果 orphans 为空,那么你的查找表将为每一行成功解析。

步骤 2:在 LPSNG 中设计或打开你的标签布局

打开 LPSNG 标签工作室,创建一个新布局或打开一个现有布局。

  • 为描述和价格添加文本字段,为商品编号添加条码字段,如果你想要徽标或产品照片,还可以添加图像字段。
  • 为每个字段取有意义的名称——field_product_name、field_price、field_sku——这样六个月后,从电子表格列到标签字段的映射仍然一目了然。关于条码方面,支持的 1D 和 2D 格式列在 lpsng.rsj.de/en/barcode。
  • 预留足够的空间。 电子表格中的值并不统一:第一行可能是简短的描述,第五十行可能会换行成三行。宁可留出空间,也不要之后缩小字体。
  • 只在需要时转换值。 格式化价格、连接两列或计算校验位,是附加到字段的 Python 脚本块的工作,详见 Python API 参考文档 lpsng.rsj.de/api。

保存布局。它将成为你 Excel 文件中每一行的模板——设计工作只需做一次。

步骤 3:将 Excel 列映射到标签字段

在 LPSNG Excel 接口中,上传或选择你的工作簿作为数据源,然后将每一列分配给一个字段。对于查找值,指定查找工作表或文件以及键列;LPSNG 会在渲染之前逐行解析查找,因此标签字段接收的是合并后的值,而不是原始键。

映射界面表达的内容大致如下——界面会为你写入配置:

# 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

然后用前几行预览映射。预览是你发现列偏移或价格落入描述字段的地方——在浪费一卷标签之前。

这是编写自定义解析器或搭建命令行流水线的托管替代方案:映射本身不需要代码。

步骤 4:将标签渲染为 PDF、PNG 或发送到打印机

选择你的输出:

  • 多页 PDF——非常适合存档、通过电子邮件发送或交给印刷店。
  • 单独的 PNG 图片——用于嵌入另一个系统或 Web 前端。
  • 直接打印——选择打印机,作业队列将每一行作为单独的标签处理。
  • JSON——当下游系统需要渲染结果或解析后的数据而不是纸张时。

对于自动化,可以从代码驱动相同的作业。Web 服务 API 提交打印作业,将单个标签渲染为 PDF 或 PNG,并支持直接打印;身份验证使用 OAuth2,文档位于 lpsng.rsj.de/en/webservice。独立的 LPSNG Player 接收包和数据,输出 PDF、PNG、JSON 或发送到打印机:

# 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

如果你的团队使用 Google Sheets 而不是 Excel,Google Sheets 插件 在浏览器中提供相同的创建和打印工作流程。而且所有渲染都在服务器端进行——除了打印机设置之外,你无需在本地安装字体或驱动程序。

步骤 5:验证输出并检查查找

渲染成功并不等于渲染正确。检查生成的文件:

  • 抽查几个标签与源行进行对比——第一行、最后一行以及任何格式不寻常的行。
  • 确认查找已解析。 如果标签显示 A-1002 而你期望的是 “Steel Bracket, 60 mm, galvanised”,说明键没有匹配。
  • 用阅读器扫描几个条码,将解码值与预期数据进行比较。如何在打印标签前验证条码 提供了更完整的检查清单。
  • 查看作业队列。 失败或被跳过的行会出现在那里,通常带有出错的值或脚本错误。
  • 如果你附加了字段脚本,确认转换已应用——错误的日期格式很容易被忽视,直到有人在货架上读到标签才会发现。

常见问题排查

标签打印时字段为空。 检查列标题是否与映射的字段名称完全匹配,以及数据文件在表头上方没有前导空行。顶部的一个空行会导致所有内容偏移。

查找没有返回任何结果。 键列必须在大小写、前后空格和前导零方面匹配。如步骤 1 所示,对两边进行规范化。

条码扫描不正确。 验证条码字段是否映射到正确的列,以及所选格式是否能承载你要编码的数据长度。

只有部分行渲染失败。 检查作业队列中的错误消息。常见原因是布局所需的某个值缺失,或字段块内的脚本错误。

打印机没有收到任何内容。 确认打印机在线并在输出设置中被选中。对于 Google Cloud Print 场景,请参阅 云打印 文档。

常见问题

我可以将同一个 Excel 文件同时用于数据和查找吗? 可以。将数据放在一个工作表中,将查找表放在同一工作簿的另一个工作表中。映射时,为每个角色选择相应的工作表。只需确保用于查找的键列在两个工作表中保持一致。

我需要编写代码来将 Excel 列映射到标签字段吗? 不需要。LPSNG Excel 接口提供了一个映射界面,你可以将电子表格列分配给标签字段。只有在你想要转换值时——例如格式化价格或连接字段——才需要代码,你可以通过附加到字段的 Python 脚本块来实现(参见 Python API 文档)。

我可以从 Excel 数据生成哪些输出格式? 你可以生成多页 PDF、单独的 PNG 图片、将作业直接发送到打印机,或输出 JSON。Web 服务 API 和 LPSNG Player 支持这些输出,因此你可以将渲染集成到你自己的应用程序中。

当 Excel 文件发生变化时,如何更新标签? 只需重新上传更新后的 Excel 文件,或用新数据重新运行作业。LPSNG 会应用相同的标签布局和映射,因此你无需重新设计任何内容。作业队列将处理新行并生成更新后的标签。

结论:从电子表格到货架就绪的标签

工作流程很短:准备你的 Excel 数据和查找表,设计一次布局,将列映射到字段,渲染,验证。这个列表中的任何一项都不需要你编写解析器或照看脚本。

Next Generation Label Printing System 承担了繁重的工作——渲染、作业队列、查找解析和输出——这样你就可以把时间花在数据上,而不是管道上。无论你生产十个标签还是一万个标签,它的工作方式都一样,而且 Web 服务 API 允许其他系统以编程方式触发相同的作业。

在你的 LPSNG 版本中试用 Excel 接口——云端、嵌入式或企业版——如果你的团队更喜欢在浏览器中使用电子表格,请查看 Google Sheets 插件,在浏览器中获得相同的工作流程。

相关文章

EU label: AI-generated content