跳转至

BARCODE

类别:EGTools 专用函数

将文本编码为条形码并作为图片插入调用单元格(2D 类型保持比例,单元格较大时居中)。

语法

=BARCODE(文本, [类型], [选项])

参数

参数 必需 说明
文本 必需 要编码的字符串
类型 可选 QRCODE(默认), CODE128, DATAMATRIX, EAN13/8, ITF, PDF417, AZTEC, CODE39/93, UPC-A/E, CODABAR, GS1-128/DM/QR
选项 可选 数字=边距(2D),TRUE=下方显示文本(1D)

返回

成功时返回空字符串(""),并按调用单元格大小另行插入条形码图片。文本为空、无法识别类型或无法按该格式编码时返回 #VALUE!,无法确定调用单元格时返回 #REF!。

示例

公式 结果 说明
=BARCODE("12345678","CODE128") 插入 Code128 图片(插入图片,取决于环境)
=BARCODE("https://example.com") 插入默认 QR 码(插入图片,取决于环境)

备注

  • 支持类型:CODE128、CODE39/93、EAN13/8、UPC-A/E、ITF、CODABAR、PDF417、QRCODE(默认)、DATAMATRIX、AZTEC、GS1-128/GS1DATAMATRIX/GS1QRCODE(也接受数字代码)。
  • 生成使用 zint,读取(READBARCODE)使用 zxing-cpp。GS1-128/GS1DATAMATRIX/GS1QRCODE 按规范编码 "(01)04012345678901(10)LOT42" 这类带括号的 AI 表示法(FNC1 置于首位、可变长度 AI 之后插入分隔符,符号体系标识符 ]C1/]d2/]Q3),方括号 [AI]值 表示法和扫描器读取的原始流 ]C10104012345678901<GS>10LOT42<GS>=分隔符 0x1D — 按字面写成 <GS> 也能识别,开头的 ]C1 标识符即使存在也会忽略)也会编码为相同的符号。AI 格式、长度、校验位违规、未知 AI 或非 ASCII 字符返回 #VALUE!。
  • EAN13/EAN8/UPC-A/UPC-E 若不含校验位(12/7/11/6~7 位)则自动计算并附加,若包含校验位则进行验证(错误时返回 #VALUE!);ITF 位数为奇数时在前面补 0。
  • 选项参数为数字时解释为边距(2D 格式,以模块为单位),为 TRUE 时解释为在下方显示文本(1D 格式)。
  • 2D 格式保持规范比例(模块正方形)适配到调用单元格内并居中对齐,1D 格式填满单元格。
  • 文本指定为数组时返回 #VALUE!(每个单元格一张图片)— 多条数据请将公式按行复制使用。
  • 支持:Excel 2010+。在所有 Excel 版本中均按 BARCODE 名称注册。