以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]特殊报表批量打印  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34002)

--  作者:云淡风轻
--  发布时间:2013/5/28 16:52:00
--  [求助]特殊报表批量打印

需求:打印小标签,效果是一页15张标签,5X3,批量打印,我在excel里列了打印样式。

箱号就是存放地点,起始档号和终止档号就是对于同一个箱号里面最小的档号和最大的档号值。

如何实现?我发现一般方法不行,是不是要做窗口,还是其他?谢谢!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.rar

[此贴子已经被作者于2013-5-28 16:53:27编辑过]

--  作者:Bin
--  发布时间:2013/5/28 17:01:00
--  
http://www.foxtable.com/help/topics/1414.htm

看看能否满足你需求.
模板方式,专业报表方式都有了

--  作者:云淡风轻
--  发布时间:2013/5/28 17:12:00
--  

之前看过了,没有符合需求的。不熟悉,解决不了。

[此贴子已经被作者于2013-5-28 17:11:51编辑过]

--  作者:Bin
--  发布时间:2013/5/28 17:22:00
--  
你先筛选出来再弄不就好了吗?
--  作者:狐狸爸爸
--  发布时间:2013/5/28 17:52:00
--  

这个没办法用excel报表完成,只能用专业报表:

 

Dim doc As New PrintDoc \'定义一个报表
doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight \'设置排列方式
For Each nm As String In DataTables("表A").GetUniqueValues("","存放地点")
    Dim min As String = DataTables("表A").Compute("min(档号)","存放地点 = \'" & nm & "\'")
    Dim max As String = DataTables("表A").Compute("Max(档号)","存放地点 = \'" & nm & "\'")
    Dim rt As New prt.RenderTable() \'定义一个表格对象
    rt.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型
    rt.Width = 50 \'表格宽度为50mm
    rt.Style.Spacing.All = 2 \'和其他对象之间的间隔为2mm
    rt.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'避免垂直换页的时候,表格被分割成两部分.
    rt.Cols(0).Width = 20
    rt.cells(0,0).Text = "箱号"
    rt.Cells(0,1).Text = nm
    rt.Cells(1,0).Text = "起始档号"
    rt.Cells(1,1).Text = min
    rt.Cells(2,0).Text= "结束档号"
    rt.cells(2,1).Text = max
    doc.Body.Children.Add(rt) \'将表格对象加入到报表中
Next
Doc.Preview() \'预览