以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]插入二维码图片  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73691)

--  作者:wangyinming
--  发布时间:2015/8/24 21:10:00
--  [讨论]插入二维码图片
自己根据帮助设置表A的编号列已生成二维码图片,并保存在D盘二维码文件中,已编号命名。
但是想将生产的二维码编号插入再Excel模板中,请问如何实现?

生成的代码

    Dim Bar As New BarCodeBuilder
    Bar.Symbology = Barpro.Symbology.QRCode
    For Each r As Row In Tables("表A").Rows
        bar.Code = r("编号")
        Bar.Text = r("编号")
        Bar.TextAlignment = Barpro.Alignment.BelowCenter
        Bar.QuietZoneWidth = 1
        Bar.QRCodeModuleSize = 1
        bar.SaveImage("d:\\二维码\\" & r("编号") & ".jpg")
    Next

帮助中的内容如下:

如果图片是动态生成的,则只能采用引用的方式,通常是事先用代码生成图片文件,并保存在项目的Images子目录下,然后再生成Excel报表。
[此贴子已经被作者于2015/8/24 21:11:51编辑过]

--  作者:大红袍
--  发布时间:2015/8/24 21:12:00
--  

 参考 http://www.foxtable.com/help/topics/2338.htm

 


--  作者:wangyinming
--  发布时间:2015/8/24 21:32:00
--  
我在报表事件这样写,但是预览时没有出现图片,请大红袍老师确认一下!

If e.Book.TempLate = "SalesInvoice" Then
    If e.region = "SaleOrderDetail" Then
        If e.DataRow Is Nothing OrElse e.DataRow.IsNull("编号") 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("编号")
            Bar.Text = e.DataRow("编号")
            Bar.TextAlignment = Barpro.Alignment.BelowCenter
            Bar.QuietZoneWidth = 1
            Bar.QRCodeModuleSize = 1
            Bar.SaveImage(ProjectPath & "Images\\BarCode.gif")
        End If
    End If
End If

EXCEL模板:[&&BarCode.gif, 2, 2,117,110]

--  作者:wangyinming
--  发布时间:2015/8/24 21:33:00
--  
If e.region = "SaleOrderDetail" Then   发现报表名字错了,==
--  作者:大红袍
--  发布时间:2015/8/24 21:34:00
--  
加入msgbox,看是否进入执行了代码。
--  作者:wangyinming
--  发布时间:2015/8/24 21:42:00
--  
OK  好了,谢谢指导。