Document Solutions for Excel, Java Edition | Document Solutions
Features / Barcodes / Data Matrix
In This Topic
    Data Matrix
    In This Topic

    DataMatrix barcode is a high density, two-dimensional barcode with square modules typically arranged in a square or a rectangular matrix pattern. The most popular application of Data Matrix is to tag small objects, because the code can encode 50 characters in 2 or 3 mm 2 readable symbols and can only read the code ata 20% ratio.

    The below image displays DataMatrix barcode in a PDF document.

    Datamatrix barcode

    Formula definition

    You can set Datamatrix in a worksheet using the following formula:

    =BC_DataMatrix(value, color, backgroudColor, eccMode, ecc200SymbolSize, ecc200EndcodingMode, ecc00_140Symbole, structureAppend, structureNumber, fileIdentifier, quietZoneRight, quietZoneTop, quietZoneBottom)

    Parameter

    Name Description
    value A string that represents encode on the symbol of QRCode.
    color A color that represents the barcode color. The default value is 'rgb(0,0,0)'.
    backgroundColor A color that represents the barcode backgroundcolor. The default value is 'rgb(255, 255, 255)'
    eccMode A value that represents which ecc mode to use. It has the following values : 'ECC000, ECC050, ECC080, ECC100, ECC140, ECC200'.
    ecc200SymbolSize A value that specifies the size of the ECC200 symbol only. The default value is 'squareAuto'.
    ecc200EndcodingMode A value that specifies which encoding mode to use for the symbol. The default value is 'auto'.
    ecc00_140Symbole A value that specifies the size of the ECC000-140 symbol only. The default value is 'auto'.
    structureAppend Specifies whether the symbol is part of a structured append message ECC200 only.The default value is 'false'.
    structureNumber A value that represents which block the symbol is in the structured append message. It has the value '0-15', only for ECC200. The default value is '0'.
    fileIdentifier A value that specifies the file identification. It has values '1-254', only for ECC200. The default value is '0'.
    quietZoneRight A value that represents the size of right quiet zone.
    quietZoneTop A value that represents the size of top quiet zone.
    quietZoneBottom A value that represents the size of bottom quiet zone.

    Using Code

    This example creates a DataMatrix barcode.

    C#
    Copy Code
    // Create a new workbook
    Workbook workbook = new Workbook();
    // Set worksheet layout and data
    IWorksheet worksheet = workbook.getWorksheets().get(0);
    worksheet.getRange("B:F").setColumnWidth(15);
    worksheet.getRange("4:7").setRowHeight(60);
    worksheet.getRange("A:A").setColumnWidth(5);
    worksheet.getRange("B2").setValue("Data Matrix");
    worksheet.getRange("B2:F2").setMergeCells(true);
    worksheet.getRange("B3:F3").setValue(new Object[][] { { "Server", "Data", "Default", "ECC100", "ECC200" } });
    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:C7")
            .setValue(new Object[][] { { "Police", "911" }, { "Telephone Directory Assistance", "411" },
                    { "Non-emergency Municipal Services", "311" }, { "Travel Info Call 511", "511" } });
    worksheet.getRange("B4:B7").setWrapText(true);
    worksheet.getPageSetup().setPrintGridlines(true);
    // Set formula
    for (int i = 4; i < 8; i++) {
        String value = "CONCAT(B" + i + ",\":\",C" + i + ")";
        worksheet.getRange("D" + i).setFormula("=BC_DataMatrix" + "(" + value + ")");
        worksheet.getRange("E" + i).setFormula("=BC_DataMatrix" + "(" + value + ", , ,\"ECC000\")");
        worksheet.getRange("F" + i).setFormula("=BC_DataMatrix" + "(" + value + ", , ,\"ECC200\")");
    }
    
    // Save to an pdf file
    workbook.save("DataMatrix.pdf");

    Limitation