实战 - 用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会在条形码这一章专门讲述。