Foxtable(狐表)用户栏目专家坐堂 → [求助]为何导出时设置合计了合计模式,但不起作用?


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

主题:[求助]为何导出时设置合计了合计模式,但不起作用?

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
[求助]为何导出时设置合计了合计模式,但不起作用?  发帖心情 Post By:2015/4/21 13:08:00 [只看该作者]

主要 代码如下:
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim flg As New SaveExcelFlags
    flg.CellStyle = True
    flg.RowNumber = True
    flg.MergedRanges = True
    Tables(e.Form.Name &  "_Table1").SaveExcel(dlg.FileName, Vars("button_name") &  "_统计",flg)  '保存文件
End If

这个生成的XLS文件,没有合计一行。

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




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


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

用汇总模式就没问题.

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/4/21 14:37:00 [只看该作者]

如果是汇总模式,只有第一个表有合计:

图片点击可在新窗口打开查看此主题相关图片如下:汇总模式.png
图片点击可在新窗口打开查看



Dim filter,filter2 As String


Dim bd1 As New SQLGroupTableBuilder("统计表1","表A")
Dim dt1 As fxDataSource
bd1.Groups.AddDef("部门名称","单位")  '统计表1的列重命名
bd1.Totals.AddDef("部门名称", AggregateEnum.Count,"数量_性质")
bd1.FromServer = True
'bd1.VerticalTotal = True    '
bd1.Subtotal = True

bd1.Filter = Filter
'dt1 = bd1.BuildDataSource()
'bd1.Build
dt1 = bd1.BuildDataSource()

Dim bd2 As New SQLGroupTableBuilder("统计表2","表C")
Dim dt2  As fxDataSource
bd2.Groups.AddDef("部门名称","单位")  '统计表1的列重命名
bd2.Totals.AddDef("部门名称", AggregateEnum.Count,"数量_类别")
'bd2.VerticalTotal = True
bd2.Filter = Filter2
bd2.Subtotal = True
bd2.FromServer = True
dt2 = bd2.BuildDataSource()

dt1.Combine("单位",dt2,"单位") '将统计表2组合到统计表1
'

Tables(e.Form.Name &  "_Table1").DataSource = dt1 '将统计结果绑定到Table
'问题:以合计模式生成,不能把合计结果导出至XLS
'Tables(e.Form.Name &  "_Table1").Cols("数量_性质").GrandTotal = True '指定要合计的列
'Tables(e.Form.Name &  "_Table1").Cols("数量_类别").GrandTotal = True
'Tables(e.Form.Name &  "_Table1").GrandTotal = True '显示合计模式
e.Form.Controls("Table1").Visible =  True
Tables(e.Form.Name &  "_Table1").DataTable.SysStyles("EmptyArea").BackColor = e.Form.BackColor



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


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

用汇总

Dim t As Table = Tables("窗口1_Table1")
Dim g As SubtotalGroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "数量_性质,数量_类别"
g.Caption = "总计"
t.SubtotalGroups.Add(g)

t.Subtotal()

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2015/4/21 14:51:00 [只看该作者]

可以了,谢谢版主!


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



 回到顶部