[]
        
(Showing Draft Content)

EAN-13

EAN-13条形码使用数字字符(12个数字)和校验位。此条形码只接受12个数字作为字符串来计算校验位(校验和),并将其添加到第十三个位置。校验位是一个附加数字,可用于验证条形码是否已被准确扫描。当CheckSum属性设置为True时,将自动添加校验位。这主要用于超市和其他零售企业。

下图显示PDF文档中的EAN-13条形码。

EAN-13 barcode

公式定义

你可以使用以下公式在工作表中设置EAN-13条形码:


=BC_EAN13(value, color, backgroundColor, showLabel, labelPosition, addOn, addOnLabelPosition, fontFamily, fontStyle, fontWeight, fontTextDecoration, fontTextAlign, fontSize, quietZoneLeft, quietZoneRight, quietZoneTop, quietZoneBottom)

注意: “labelPosition”参数只能设置为top或bottom。该设置适用于GcExcel中支持“labelPosition”参数的所有条形码。

参数

名称

描述

value

指定值的长度,必须为12或13。

color

表示条形码颜色的颜色。默认值为“rgb(0,0,0)”。

backgroundColor

表示条形码背景颜色的颜色。默认值为“rgb(255,255,255)”。

showLabel

指定条形码具有标签时是否显示标签文本。

labelPosition

执行显示标签时标签的位置。

addOn

表示添加一个QRCode文本的字符串。指定值长度必须为2或5。

addOnLabelPosition

表示添加文本的位置

fontFamily

表示标签文本字体的字符串。默认值为“sans serif”。

fontStyle

表示标签文本字体样式的字符串。默认值为“normal”。

fontWeight

表示标签文本字体粗细的字符串。默认值为“normal”。

fontTextDecoration

表示标签文本修饰的字符串。默认值为“none”。

fontTextAlign

表示标签文本对齐方式的字符串。默认值为“center”。

fontSize

表示标签文本字体大小的字符串。默认值为“12px”。

quietZoneLeft

表示左侧空白区域的大小。

quietZoneRight

表示右侧空白区域的大小。

quietZoneTop

表示顶部空白区域的大小。

quietZoneBottom

表示底部空白区域的大小。

代码用例

此示例代码在工作表中设置EAN-13。

// Create a new workbook
Workbook workbook = new Workbook();
// Set worksheet layout and data
IWorksheet worksheet = workbook.getWorksheets().get(0);
worksheet.getRange("B:C").setColumnWidth(15);
worksheet.getRange("D:G").setColumnWidth(20);
worksheet.getRange("4:7").setRowHeight(60);
worksheet.getRange("A:A").setColumnWidth(5);
worksheet.getRange("B2").setValue("EAN-13");
worksheet.getRange("B2:F2").setMergeCells(true);
worksheet.getRange("B3:G3").setValue(new Object[][] {
        { "Name", "Number", "Default", "Change addOn", "Change addOnLabelPosition", "Explain" } });
worksheet.getRange("B4:C7").setHorizontalAlignment(HorizontalAlignment.Center);
worksheet.getRange("B4:C7").setVerticalAlignment(VerticalAlignment.Center);
worksheet.getRange("B2:F3").setHorizontalAlignment(HorizontalAlignment.Center);
worksheet.getRange("B2:F3").setVerticalAlignment(VerticalAlignment.Center);
worksheet.getRange("B4:C6").setValue(new Object[][] { { "Medicine", "692031229621" },
        { "Pen", "6945091701532" }, { "value length is 13", "8142486545683" } });
worksheet.getRange("G6")
        .setValue("No EAN-13 generated, because the last digit is check-sum digit and it is invalid");
worksheet.getRange("G6").getFont().setColor(Color.GetRed());
worksheet.getRange("B4:C6").setWrapText(true);
worksheet.getRange("G6").setWrapText(true);
worksheet.getPageSetup().setOrientation(PageOrientation.Landscape);
worksheet.getPageSetup().setPrintGridlines(true);
// Set formula
for (int i = 4; i < 7; i++) {
    worksheet.getRange("D" + i).setFormula("=BC_EAN13" + "(C" + i + ")");
    worksheet.getRange("E" + i).setFormula("=BC_EAN13" + "(C" + i + ",,,,,22)");
    worksheet.getRange("F" + i).setFormula("=BC_EAN13" + "(C" + i + ",,,,,22,\"bottom\")");
}

// Save to an pdf file
workbook.save("EAN13.pdf");