Foxtable(狐表)用户栏目专家坐堂 → [求助]能不能把下面一段代码导出的很多EXCEL报表放在一个PDF文件上?


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

主题:[求助]能不能把下面一段代码导出的很多EXCEL报表放在一个PDF文件上?

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


加好友 发短信
等级:一尾狐 帖子:498 积分:4605 威望:0 精华:0 注册:2013/4/25 8:02:00
[求助]能不能把下面一段代码导出的很多EXCEL报表放在一个PDF文件上?  发帖心情 Post By:2015/12/22 18:57:00 [只看该作者]

DataTables("考试数据表").LoadFilter = ""
DataTables("考试数据表").Load

Dim nms As String() = {"短日期","起始时间","教室"} '指定生成目录树的各列
Dim qts As String() = {"'","'","'"} '指定将各列的值括起来的符号,这里都是字符型,所以都是单引号
Dim trv As WinForm.TreeView = e.Form.Controls("签到单时间")
Dim filter As String
For Each nd As object In trv.AllNodes
    If nd.Level > 2 Then
        If nd.Checked  Then
            Dim rts() As String = nd.FullPath.Split("\")
            Dim val As String = ""
            For i As Integer = 1 To rts.length - 1
                If val > "" Then
                    val = val & " And "
                End If
                val = val & nms(i-1) & " = " & qts(i-1) & rts(i) & qts(i-1)
            Next
            If filter > "" Then
                filter = filter & " Or (" & val & ")"
            Else
                filter = val
            End If
        End If
    End If
Next

filter = filter.Replace("(","").Replace(")","")

DataTables("考试数据表").ResumeRedraw
DataTables("考试数据表").StopRedraw
For Each ary() As String In DataTables("考试数据表").GetValues("短日期|起始时间|教室", filter)
    
    Vars("qdd1") = ary(0)
    Vars("qdd2") = ary(1)
    Vars("qdd3") = ary(2)
    
    With Tables("考试数据表")
     .Sort = "保密号,座位号"
        .Filter = "机考安排 is null and 短日期 = '" & ary(0) & "' and 起始时间 = '" & ary(1) & "' and 教室 = '" & ary(2) & "'"
        If .Rows.count > 0 Then
            .Select(0,0,.Rows.count - 1,.Cols.count - 1 )


            Dim Book As New XLS.Book(ProjectPath & "Attachments\纸考签到单.xls")
            Dim fl As String = ProjectPath & "Reports\纸考签到表\" & ary(0) & " "  & ary(1).Replace(":", "点") &  " "  &  ary(2) & "签到单.xls"
            Book.Build() '生成细节区
            Book.Save(fl) '保存工作簿
        End If
    End With

    With Tables("考试数据表")

  .Sort = "保密号,座位号"

        .Filter = "机考安排 is null and 短日期 = '" & ary(0) & "' and 起始时间 = '" & ary(1) & "' and 教室 = '" & ary(2) & "'"
        If .Rows.count > 0 Then
            .Select(0,0,.Rows.count - 1,.Cols.count - 1 )
            Dim Book As New XLS.Book(ProjectPath & "Attachments\纸考座位单.xls")
            Dim fl As String = ProjectPath & "Reports\纸考座位单\" & ary(0) & " "  & ary(1).Replace(":", "点") &  " "  &  ary(2) & "座位单.xls"
            Book.Build() '生成细节区
            Book.Save(fl) '保存工作簿
        End If
    End With
    
    
    With Tables("考试数据表")
        .Sort = "试卷号,座位号"
        .Filter = "机考安排 is not null and 短日期 = '" & ary(0) & "' and 起始时间 = '" & ary(1) & "' and 教室 = '" & ary(2) & "'"
        If .Rows.count > 0 Then
            .Select(0,0,.Rows.count - 1,.Cols.count - 1 )

            Dim  book = New XLS.Book(ProjectPath & "Attachments\机考签到单.xls")
            Dim fl = ProjectPath & "Reports\机考签到表\" & ary(0) & " "  & ary(1).Replace(":", "点") &  " "  &  ary(2) & "签到单.xls"
            
            Book.Build() '生成细节区
            Book.Save(fl) '保存工作簿
        End If
    End With
    
Next                                      '结束遍历value2s的数组
DataTables("考试数据表").ResumeRedraw



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/22 19:10:00 [只看该作者]

你可以只做一个excel模板,然后把所有的都生成在这个excel模板里面,最后save成pdf即可。

 

再者,你要用专业报表生成也可以


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


加好友 发短信
等级:一尾狐 帖子:498 积分:4605 威望:0 精华:0 注册:2013/4/25 8:02:00
  发帖心情 Post By:2015/12/22 23:12:00 [只看该作者]

你可以只做一个excel模板,然后把所有的都生成在这个excel模板里面

怎么做?
怎么实现?

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/23 9:03:00 [只看该作者]


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/23 9:56:00 [只看该作者]

以下是引用zgjmost在2015/12/22 23:12:00的发言:
你可以只做一个excel模板,然后把所有的都生成在这个excel模板里面

怎么做?
怎么实现?

 

为什么不行啊?http://www.foxtable.com/help/topics/1542.htm

 


 回到顶部