以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何在excel报表里面加上二维码 (http://foxtable.net/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 --
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 --
这是实例。
|
||||
-- 作者:有点蓝 -- 发布时间: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这个合并单元格内,而附页所示的报表结果却不符合要求。要怎么引用二维码图片?谢谢。
|
||||
-- 作者:有点甜 -- 发布时间:2019/5/14 11:34:00 --
|