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