Foxtable(狐表)用户栏目专家坐堂 → [求助]如何生成这种报表


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

主题:[求助]如何生成这种报表

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


加好友 发短信
等级:婴狐 帖子:23 积分:249 威望:0 精华:0 注册:2016/9/29 12:40:00
[求助]如何生成这种报表  发帖心情 Post By:2016/11/1 12:00:00 [只看该作者]

新手刚刚接触狐表,对代码语言也不懂,狐表中有下面这个数据表



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

 

我想生成以下固定格式的报表


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

通过交叉统计的方式很容易实现,但要交叉统计生成的是临时表,我想直接通过报表输出,怎么实现啊!


[此贴子已经被作者于2016/11/1 12:04:26编辑过]

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/1 12:09:00 [只看该作者]

临时表一样可以通过报表输出

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/1 12:09:00 [只看该作者]

生成交叉统计表以后,再导出,不行?

 

如果直接用代码,可以这样写

 

Dim g As New CrossTableBuilder("统计表1", DataTables("表A"))
g.HGroups.AddDef("第一列")
g.VGroups.AddDef("第二列")
g.Totals.AddDef("第三列", AggregateEnum.Count, "第三列")
g.Build()
Dim t As Table = Tables("统计表1")
t.saveExcel("d:\test.xls", "统计表")


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


加好友 发短信
等级:婴狐 帖子:23 积分:249 威望:0 精华:0 注册:2016/9/29 12:40:00
  发帖心情 Post By:2016/11/1 12:59:00 [只看该作者]

临时表是可以生成,但每次重新打开的话临时表都需要重新生成,有没有什么方式能够让临时表和相关的报表一次性生成
[此贴子已经被作者于2016/11/1 13:00:14编辑过]

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/1 14:28:00 [只看该作者]

如果统计数据是固定不会变的,就创建一个结构一样的数据表,生成统计表后把数据填充过去咯


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/1 14:47:00 [只看该作者]

以下是引用521lp在2016/11/1 12:59:00的发言:
临时表是可以生成,但每次重新打开的话临时表都需要重新生成,有没有什么方式能够让临时表和相关的报表一次性生成
[此贴子已经被作者于2016/11/1 13:00:14编辑过]

 

把代码写到AfterOpenProject事件,每次打开的时候,动态生成一次。

 


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


加好友 发短信
等级:婴狐 帖子:23 积分:249 威望:0 精华:0 注册:2016/9/29 12:40:00
  发帖心情 Post By:2016/11/2 13:49:00 [只看该作者]

以下是引用有点色在2016/11/1 14:47:00的发言:

 

把代码写到AfterOpenProject事件,每次打开的时候,动态生成一次。

 

解决了,按照您的提示,我把交叉统计的代码写到AfterOpenProject里,然后项目打开后会自动统计,然后就可以直接输出报表了!谢谢


 回到顶部