以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [讨论]再探打印问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119311) |
-- 作者:积水成渊 -- 发布时间:2018/5/22 16:09:00 -- [讨论]再探打印问题 之前已经弄了一个关于打印的功能,有自动连续打印的(没有预览),有连续单个预览打印的等,但是还是不够效率,现在能不能实现这样的功能,我需要打印三张单据,将三张单据的预览体现在一张打印页面中,确定没有问题后,点击打印,将三张单据连续打印出来 |
-- 作者:积水成渊 -- 发布时间:2018/5/22 16:16:00 -- For Each dr As DataRow In DataTables("出纳单据").Select("是否打印= 1") Dim Book As New XLS.Book(ProjectPath & "Attachments\\费用报销单.xls") Dim fl As String = ProjectPath & "Reports\\费用报销单.xls" book.AddDataTable("A","数据源A","s elect * f rom {A} where ID = \'"& dr("ID") &"\'") \'添加父表 book.AddDataTable("B","数据源B","s elect * f rom {B} where PARENT = \'"& dr("ID") &"\'") \'添加子表 book.AddDataTable("C","数据源C","s elect * f rom {C} where PARENT = \'"& dr("ID") &"\'") \'添加子表 book.AddRelation("A","ID","B","PARENT") \'建立关联 book.AddRelation("A","ID","C","PARENT") \'建立关联 Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) wb.saved = True App.Visible = True Ws.PrintPreview wb.close App.Quit next 以上代码是单个预览,然后打印,例如我选中三条需要打印的单据,我需要将这三张单据在一个页面预览出来,点击打印时,连续打印三张单据,而不是预览一张单据,点击打印一张,然后又预览一张单据,点击又打印一张
|
-- 作者:有点甜 -- 发布时间:2018/5/22 16:39:00 -- 如果你要一起预览,你要把所有内容拷贝到同一个sheet里面才可以的。(效率更低)
先生成 1.xls 、2.xls、3.xls 三个文件,然后打开三个文件,拷贝,粘贴到某一个sheet里面,然后把sheet打印。 |
-- 作者:积水成渊 -- 发布时间:2018/5/22 16:59:00 -- 老师,有具体的案例吗,因为我看别的软件的打印模式都是这种的,显然更有利于用户的实际操作 |
-- 作者:有点甜 -- 发布时间:2018/5/22 17:49:00 -- 以下是引用积水成渊在2018/5/22 16:59:00的发言:
老师,有具体的案例吗,因为我看别的软件的打印模式都是这种的,显然更有利于用户的实际操作
如果要高效率,请使用【专业报表】做,如果使用excel报表做,就是很麻烦的。
具体问题,请做一个对应的实例发上来测试。 |