Foxtable(狐表)用户栏目专家坐堂 → 动态打印调用


  共有1522人关注过本帖树形打印复制链接

主题:动态打印调用

帅哥哟,离线,有人找我吗?
nbsugu_z
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
动态打印调用  发帖心情 Post By:2017/8/8 13:40:00 [只看该作者]

模板名为:测试 

工作表A中有 单位列 和月份列(月份是字符型)等
现在要达到动态模板打印条件为同时满足所有记录:相同单位 同一月份记录打印,又如A单位7月份所有记录打印 B单位5月份所有记录打印
如何修改下面代码。测试了多次不成功。要求能出现对话框,供我输入月份、单位 生成打印文件



Dim Book As New XLS.Book(ProjectPath & "Attachments\测试.xls")
        Dim fl As String = ProjectPath & "Reports\测试.xls"
                Book.Build() '生成细节区
        Book.Save(fl) '保存工作簿
        Dim Proc As New Process '打开工作簿
        Proc.File = fl
        Proc.Start()

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/8 14:18:00 [只看该作者]

Dim str As String = "A单位,8月"
If InputValue(str, "提示", "请输入:") Then
    Dim ary() As String = str.split(",")
    If ary.length = 2 Then
        Tables("表A").Filter = "第一列 = '" & ary(0) & "' and 第二列 = '" & ary(1) & "'"
        Dim Book As New XLS.Book(ProjectPath & "Attachments\测试.xls")
        Dim fl As String = ProjectPath & "Reports\测试.xls"
        Book.Build() '生成细节区
        Book.Save(fl) '保存工作簿
        Dim Proc As New Process '打开工作簿
        Proc.File = fl
        Proc.Start()
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
nbsugu_z
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2017/8/8 14:33:00 [只看该作者]

.NET Framework 版本:2.0.50727.8689
Foxtable 版本:2017.8.3.1
错误所在事件:窗口,main,TreeView1,NodeMouseClick
详细错误信息:
打开存储文件失败。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/8 14:35:00 [只看该作者]

说明你没有对应的文件【Attachments\测试.xls】,注意后缀名是不是xlsx。

 

或者做个例子发上来测试下。


 回到顶部
帅哥哟,离线,有人找我吗?
nbsugu_z
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2017/8/8 14:48:00 [只看该作者]

Dim str As String = "A单位,8月"
If InputValue(str, "提示", "请输入:") Then
    Dim ary() As String = str.split(",")
    If ary.length = 2 Then
        Tables("表A").Filter = "第一列 = '" & ary(0) & "' and 第二列 = '" & ary(1) & "'"
        Dim Book As New XLS.Book(ProjectPath & "Attachments\测试.xls") '打开模板

Dim fl As String = ProjectPath & "Reports\测试.xls"
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
Sheet
(3,9).Value = "<日期 = # " & Date.Today & "#>"  '写入打印条件
Book.Build()
'生成报表
Book.Save(fl)

Dim
Proc As New Process
Proc.File = fl
Proc.Start()



就是Sheet(3,9).Value = "<日期 = # " & Date.Today & "#>" 这行代码如何改写同时满足月份和单位,因为表A中月份和单位不是放在第一列和第二列的。



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/8 14:52:00 [只看该作者]

Dim str As String = "A单位,8月"
If InputValue(str, "提示", "请输入:") Then
    Dim ary() As String = str.split(",")
    If ary.length = 2 Then
        Dim Book As New XLS.Book(ProjectPath & "Attachments\测试.xls") '打开模板
        Dim fl As String = ProjectPath & "Reports\测试.xls"
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Sheet(3,9).Value = "<单位 = '" & ary(0) & "' and 月份 = '" & ary(1) & "'>"  '写入打印条件
        Book.Build() '生成报表
        Book.Save(fl)
        Dim Proc As New Process
        Proc.File = fl
        Proc.Start()
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
nbsugu_z
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2017/8/8 14:56:00 [只看该作者]

Dim Book As New XLS.Book(ProjectPath & "Attachments\测试.xls")
        Dim fl As String = ProjectPath & "Reports\测试.xls"
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
      Sheet(3,9).Value = "<月份 = # " & Date.Today & "#>"  '写入打印条件
                Book.Build() '生成细节区
        Book.Save(fl) '保存工作簿
        Dim Proc As New Process '打开工作簿
        Proc.File = fl
        Proc.Start()


可能我表达不清楚,上面的一行“打印条件代码,不知道如何修改成同时满指定的月份和指定的单位,并且有对话框供输入或选择。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/8 14:59:00 [只看该作者]

认认真真看6楼。不会做上传具体实例。

 回到顶部
帅哥哟,离线,有人找我吗?
nbsugu_z
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:410 积分:3682 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2017/8/8 15:08:00 [只看该作者]

解决了,只是对话框很不方便

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/8 15:09:00 [只看该作者]

以下是引用nbsugu_z在2017/8/8 15:08:00的发言:
解决了,只是对话框很不方便

 

那你可以单独做一个窗口,提供单位、月份选择,最后合成条件,生成报表。

 

具体问题做例子发上来。


 回到顶部