Foxtable(狐表)用户栏目专家坐堂 → excel报表求助


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

主题:excel报表求助

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
excel报表求助  发帖心情 Post By:2015/2/2 8:49:00 [只看该作者]

如图,分组统计中,同样的代码,放在表的下面就能正确统计,放在表头就统计不出来,怎么回事。想放在上面统计每个分组的法律服务所数,怎么弄,谢谢!
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150202084909.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/2 8:54:00 [只看该作者]


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


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

 呃,可以用全局变量和报表事件,参考

 

http://www.foxtable.com/help/topics/1391.htm

 

http://www.foxtable.com/help/topics/1954.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/2/2 10:33:00 [只看该作者]

那我通过目录树的复选框,用filter筛选出记录后,是不是要把筛选结果保存为一张表,才能进一步设置条件筛选出符合条件的记录的数量并付值给var变量?如是的话,那怎样将筛选结果保存为一张表?


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


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

  不需要啊,不是能直接统计的么,用compute函数啊。

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/2/2 12:43:00 [只看该作者]

'------------筛选出符合条件的记录--------------
Dim trv As WinForm.TreeView = e.Sender
Dim flt As String
Dim nd As WinForm.TreeNode
Dim pd As WinForm.TreeNode
Dim notchecked As Integer
Dim t As Table
t = Tables("基层法律服务机构信息表")
If e.Node.Name = "全部"  Then
    If e.Node.Checked = True Then
        For Each nd In trv.AllNodes
            If nd.Name <> "全部"  Then
                nd.Checked = False
            End If
        Next
        t.Filter = ""
    Else
        For Each nd In trv.AllNodes
            nd.Checked = False
        Next
        t.Filter = (1 = 2)
    End If
    trv.CollapseAll
    Return
Else
    trv.AllNodes(0).Checked = False
End If
For Each nd In e.node.allNodes
    nd.Checked = False
Next
pd = e.Node.ParentNode
Do While pd IsNot Nothing
    pd.Checked = False
    pd = pd.ParentNode
Loop
For Each nd In trv.AllNodes
    If nd.Checked  Then
        Dim vals As String = ""
        If vals > "" Then
            vals = vals & " And "
            Select Case e.Node.Level
                Case 0
                    vals &= "主管司法局= '" & nd.DataRow("主管司法局") & "'"
                Case 1
                    vals &= "主管司法局='" & nd.DataRow("主管司法局") & "' and  法律服务所= '" & nd.DataRow("法律服务所") & "'"
            End Select
        Else
            vals=vals
            Select Case e.Node.Level
                Case 0
                    vals &= "主管司法局= '" & nd.DataRow("主管司法局") & "'"
                Case 1
                    vals &= "主管司法局='" & nd.DataRow("主管司法局") & "' and  法律服务所= '" & nd.DataRow("法律服务所") & "'"
            End Select
            If flt > "" Then
                flt = flt & " Or (" & vals & ")"
            Else
                flt = vals
            End If
            notchecked + = 1
        End If
    End If
Next
If flt > "" AndAlso notchecked > 0 Then
    t.Filter = flt
   ' Dim cont1 As Double = Tables("基层法律服务机构信息表").Compute("count(法律服务所)", "主管司法局 = '" & e.Node.Name & "'")
   ' vars("分组统计法律服务所数")=cont1
   ' MessageBox.Show(vars("分组统计法律服务所数"))
Else
    t.Filter = (1 = 2)
End If


 


'-----------加载相应报表----------

Dim Book As New XLS.Book(ProjectPath & "Attachments\基层法律服务所名册.xls")
Dim fl As String = ProjectPath & "Reports\基层法律服务所名册.xls"
Book.Build() '生成细节区
Book.Marks.Add("法律服务所数",Tables("基层法律服务机构信息表").Compute("count(法律服务所)", "主管司法局 = [主管司法局]"))
Book.Save(fl) '保存工作簿
'book.Save("c:\data\test.xls")

Dim App As New MSExcel.Application
app.DisplayAlerts = False
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open(fl)
Wb.SaveAs(Filename:=ProjectPath & "Reports\基层法律服务所名册.htm", FileFormat:=MSExcel.XlFileFormat.xlHtml)
wb.close
app.quit

Dim str As String = FileSys.ReadAllText(ProjectPath & "Reports\基层法律服务所名册.htm",  Encoding.Default)
'str = str.Replace("<style>", "<style>table {margin:auto}")
str = str.Replace("<style>", "<style>body{ text-align: center;} table {margin:auto}")
FileSys.WriteAllText(ProjectPath & "Reports\基层法律服务所名册.htm",  str, False, Encoding.Default)

Dim str1 As String = FileSys.ReadAllText(ProjectPath & "Reports\基层法律服务所名册.files\stylesheet.css", Encoding.Default)
str1="body{ text-align: center;} Table {margin-left:auto ; margin-right:auto}" & str1
FileSys.WriteAllText(ProjectPath & "Reports\基层法律服务所名册.files\stylesheet.css",str1, False, Encoding.Default)


Dim wbr As WinForm.WebBrowser = Forms("基层法律服务机构报表").Controls("WebBrowser1")
Dim rpt As String = ProjectPath & "Reports\基层法律服务所名册.htm"
wbr.AddRess = rpt

 

在报表的表头上设计标记  <法律服务所数> ,在左边的目录树的复选框改变豆腐中用以上代码,怎么报表的表头什么也没有显示,要怎么改才行。目的是要在表头上显示每个分组中的记录数。谢谢!


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/2/2 14:09:00 [只看该作者]

麻烦哪位帮看下。

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


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

 先赋值给标记,在build啊

 

Book.Marks("法律服务所数") = Tables("基层法律服务机构信息表").Compute("count(法律服务所)", "主管司法局 = [主管司法局]")

Book.Build() '生成细节区


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/2/2 14:22:00 [只看该作者]

嗯,在表头上单独用<法律服务所数> ,数量是生成正确了。在表头显示时,这个字符串,生成不了。请帮看下,该怎么写的。<[主管司法局] & ":" & "共" & <法律服务所数> & "个法律服务所">

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/2 14:27:00 [只看该作者]

<[主管司法局] & ":共<法律服务所数>个法律服务所">

或者分开为3个单元格  中间放 <法律服务所数> 看看

[此贴子已经被作者于2015-2-2 14:30:02编辑过]

 回到顶部
总数 47 1 2 3 4 5 下一页