[]
        
(Showing Draft Content)

条形码

GcExcel 提供 API 来在工作表中添加条形码。这些条形码对于以最大精度轻松快速地扫描信息非常有帮助。它们还能帮助用户做出明智的商业决策并改进数据分析。

在 GcExcel Java 中支持以下类型的条形码:

由于 Excel 不支持条形码公式,GcExcel 在 IWorkbook 接口和 Workbook 类中提供了 convertBarcodeToPicture 方法,使用户能够将计算出的条形码转换为图片,并保存文件为 XLSX 文件。convertBarcodeToPicture 方法还允许用户通过 convertBarcodeToPicture(ImageType imageType = ImageType.JPG) 重载来指定图像类型。 GrapeCity.Documents.Excel.Drawing 命名空间的 ImageType 枚举设置了图像类型。如果未指定图像类型参数,则默认图像类型为 SVG。此转换不支持 EMF 和 WMF 图像类型,该方法将抛出一个不支持的异常。

请参考以下示例代码将结果条形码转换为图片:

// 初始化Workbook。
Workbook workbook = new Workbook();
        
// 访问第一个工作表。
IWorksheet worksheet = workbook.getWorksheets().get(0);
        
// 设置工作表布局并添加数据。
worksheet.getRange("A:A").setColumnWidth(2);
worksheet.getRange("B:C").setColumnWidth(15);
worksheet.getRange("D:F").setColumnWidth(25);
worksheet.getRange("4:13").setRowHeight(57);
worksheet.getRange("B3").setValue("Type");
worksheet.getRange("C3").setValue("Data");
worksheet.getRange("B2").setValue("Barcode");
worksheet.getRange("B2:F2").setMergeCells(true);
worksheet.getRange("D3:F3").setValue(new Object[][]
        {
                {"Default", "Change showLabel", "Change labelPosition"}
        });
worksheet.getPageSetup().setPrintTitleColumns("$A:$C");
worksheet.getRange("B4:C13").setHorizontalAlignment(HorizontalAlignment.Center);
worksheet.getRange("B4:C13").setVerticalAlignment(VerticalAlignment.Center);
worksheet.getRange("B2:F3").setHorizontalAlignment(HorizontalAlignment.Center);
worksheet.getRange("B2:F3").setVerticalAlignment(VerticalAlignment.Center);
worksheet.getRange("B4:C13").setValue(new Object[][]
        {
                {"QR code", "Policy:411"},
                {"Data Matrix", "Policy:411"},
                {"PDF417", "6935205311092"},
                {"EAN-8", "4137962"},
                {"EAN-13", "6920312296219"},
                {"Code39", "3934712708295"},
                {"Code93", "6945091701532"},
                {"Code128", "465465145645"},
                {"Codabar", "9787560044231"},
                {"gs1128", "010123456789012815051231"}
        });
String[] types = {"BC_QRCODE", "BC_DataMatrix", "BC_PDF417", "BC_EAN8", "BC_EAN13", "BC_CODE39", "BC_CODE93", "BC_CODE128", "BC_CODABAR", "BC_GS1_128"};
worksheet.getPageSetup().setPrintGridlines(true);

// 使用条形码公式添加条形码。
for (int i = 0; i < types.length; i++)
{
    String columnD = "D" + (i + 4);
    worksheet.getRange(columnD).setFormula("=" + types[i] + "(C" + (i + 4) + ")");
}

for (int i = 3; i < types.length; i++)
{
    String columnE = "E" + (i + 4);
    String columnF = "F" + (i + 4);
    worksheet.getRange(columnE).setFormula("=" + types[i] + "(C" + (i + 4) + ",,,0)");
    worksheet.getRange(columnF).setFormula("=" + types[i] + "(C" + (i + 4) + ",,,,\"top\")");
}

// 将生成的条形码转换为图片并将图像类型设置为JPG。
workbook.convertBarcodeToPicture(ImageType.JPG);
    
// 保存工作簿。
workbook.save("ConvertBarcodetoPicture.xlsx");

image

您也可以执行 SpreadJS JSON I/O 的条形码。有关更多信息,请参阅导入和导出SpreadJS文件。同样,条形码可以导出为图像、HTML 和 PDF 文档。有关 PDF 导出的更多信息,请参考导出条形码

限制

GcExcel 暂时不支持对条形码颜色和背景颜色的修改。