以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何在excel报表里面加上二维码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=134927)

--  作者:edisontsui
--  发布时间:2019/5/13 11:06:00
--  如何在excel报表里面加上二维码
我需要在excel表格上加上二维码,请教如何才能做到这样呢?
--  作者:有点甜
--  发布时间:2019/5/13 11:18:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/2338.htm

 

http://www.foxtable.com/webhelp/scr/2092.htm

 


--  作者:edisontsui
--  发布时间:2019/5/13 13:55:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:铝巴送货单.zip


If CurrentTable.name = "铝巴送货单"
    Dim r As Row = CurrentTable.Rows(i)
        For i As Integer = 0 To r - 1
            dim bc1 = r("送货单号") & “,” & r("生产票号一") 
            bc2 = bc1 & “,” & r("生产票号一")
            bc2 = bc2 & “,” & r("生产票号一")
        next
    Dim Bar As New BarCodeBuilder
    Bar.Symbology = Barpro.Symbology.QRcode
    Bar.Code = "bc2"
    Bar.BarWidth = 0.3
    Bar.BarHeight = 8
    Bar.SaveImage("c:\\铝巴送货单.jpg")
end if

我的数据表资料如附页所示。我希望 bar code 的内容的格式是: “送货单号”,"生产票号一","生产票号一","生产票号一","生产票号一","生产票号一","生产票号一" ......
例如:L20190430-1,04309101632,04309101633,04309101830

上面是我写的,不会写了。需要你的帮忙。送货单号取第一行就可以了,如果"生产票号一"是重复的,就取一个可以了。请教如何写代码? 谢谢。


--  作者:有点甜
--  发布时间:2019/5/13 14:41:00
--  
Dim ls = DataTables("铝巴送货单").GetValues("生产票号一", "送货单号=\'123\'")
Dim str As String = ""
For Each s As String In ls
    str &= "," & s
Next
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRcode
Bar.Code = str.trim(",")
Bar.BarWidth = 0.3
Bar.BarHeight = 8
Bar.SaveImage("c:\\铝巴送货单.jpg")

--  作者:edisontsui
--  发布时间:2019/5/13 18:17:00
--  
第一行 "送货单号=\'123\'" 是什么意思,我看不明白。 

我执行之后,出现如下警告:

.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2017.3.18.1
错误所在事件:Excel报表,AfterBuild
详细错误信息:
参数无效。

也就是说,4楼的代码没有生成包含二维码的图形档案,对吗?

我的 excel 报表里面引用二维码图形档案的格式为:[&&c:\\铝巴送货单.jpg]

--  作者:有点甜
--  发布时间:2019/5/13 18:20:00
--  

请上传具体实例测试。


--  作者:edisontsui
--  发布时间:2019/5/13 19:27:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.rar


这是实例。

--  作者:有点蓝
--  发布时间:2019/5/13 20:14:00
--  
代码放到BeforeBuild事件

\'铝巴送货单生成二维码
If CurrentTable.name = "铝巴送货单" AndAlso CurrentTable.Current IsNot Nothing
    Dim str As String = ""
    For Each dh As String In DataTables("铝巴送货单").GetValues("送货单号")
        str = str & ";" & dh & "," & DataTables("铝巴送货单").GetComboListString("生产票号一","送货单号=\'" & dh & "\'").replace("|",",")
    Next
    Dim Bar As New BarCodeBuilder
    Bar.Symbology = Barpro.Symbology.QRcode
    Bar.Code = str.trim(";")
    Bar.BarWidth = 0.3
    Bar.BarHeight = 8
    Bar.SaveImage("c:\\铝巴送货单.jpg")
End If

--  作者:edisontsui
--  发布时间:2019/5/14 11:05:00
--  
我在上面的管理项目4里面测试。发现两个问题:
1. 我希望二维码里面的信息只包括我用筛选树筛选之后的那些数据行,你上面的代码是包含筛选前的所有数据行。要怎样修改代码?
2. 我希望将二维码限制在L3M7这个合并单元格内,而附页所示的报表结果却不符合要求。要怎么引用二维码图片?谢谢。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:铝巴送货单-格式二.rar



--  作者:有点甜
--  发布时间:2019/5/14 11:34:00
--  

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.zip