实战 - 用Excel报表批量生成条形码

除了使用条形码字体,我们还可以使用本节介绍的方法来批量生成更加专业的条形码。

本节内容可以参考CaseStudy目录下的文件:条形码与Excel报表.Table。

该文件包括两个表,分别是SaleOrder(订单)和SaleOrderDetail(订单明细),希望用Excel报表打印订单,其中Lot列以条形码的形式打印:

首先在设计Excel报表模板的时候,如下图所示将Lot列的内容设置为: [&&BarCode.gif,2,2,60,20]

最后将BuildDetail事件代码设置为:

If e.Book.TempLate = "SalesInvoice" Then
    If e.region = "SaleOrderDetail" Then
        If e.DataRow Is Nothing OrElse e.DataRow.IsNull("Lot") Then
'
如果是空行或者Lot列为空
            Dim img As New System.Drawing.Bitmap(1,1)
'
生成一个空白图片
            img.Save(ProjectPath & "Images\BarCode.gif")
        Else
'
否则生成条形码图片
            Dim Bar As New BarCodeBuilder
            Bar.Symbology = Barpro.Symbology.Code39
            Bar.Code = e.DataRow("Lot")
            Bar.BarRatio = 0.3
            Bar.BarHeight = 8
            bar.SaveImage(ProjectPath & "Images\BarCode.gif",300)
       
End If
    End
If

End
If

提示:

1、上面用于生成空白图片的代码涉及Foxtable之外的知识,大家只需套用即可,无需刻意理解。
2、BarCodeBuilder会在条形码这一章专门讲述。


本页地址:http://www.foxtable.com/webhelp/topics/2338.htm