以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]基于数据表的统计表能设置模板吗  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113837)

--  作者:chnfo
--  发布时间:2018/1/23 23:01:00
--  [求助]基于数据表的统计表能设置模板吗
帮助里的“交叉统计”这一节中,可以形成以客户行分组的统计表,列是商品。

问题:
1、是否可以为这种列不确定有多少(因为商品可能有5种,也可能有100种)的统计表设置报表模板?
2、如果可以,该如何做呢?
3、如果不行,那就只有用专业报表了。

--  作者:有点蓝
--  发布时间:2018/1/23 23:17:00
--  
截图看看表结构、数据,以及需要实现的最终报表效果
--  作者:chnfo
--  发布时间:2018/1/23 23:31:00
--  
就是下图这样的。这是交叉查询出来的报表。最终生成的报表也就是加上表头、最底下加上一个合计。
但这个查询表有几点要注意:
1、行是不固定的,因为供应商品的客户、个数都不同。比如上个月是甲乙丙丁4个,这个月可能是甲乙丙丁戊5个
2、列也是不固定的,因为供应的商品上个月可能有ABC三种商品,这个月可能会有ABCDE五种商品。

最终的报表想当于要直接导出下图这样的样子,但需要加表头之类。例如加上报表的名称、单位、报表日期等等
结果是这样的,倒是不复杂

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




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

[此贴子已经被作者于2018/1/23 23:50:15编辑过]

--  作者:有点蓝
--  发布时间:2018/1/24 8:47:00
--  
这种就不能用模板了,你直接导出来吧:http://www.foxtable.com/webhelp/scr/0179.htm
--  作者:有点甜
--  发布时间:2018/1/24 9:04:00
--  

方法一:直接saveexcel,然后打开xls,插入行加上表头;

 

方法 二:用vba,修改模板,把动态部分的列,拷贝插入到多列去。


--  作者:chnfo
--  发布时间:2018/1/24 21:31:00
--  
方法一,这个我自己用可以,给客户用就不好了。
方法二,模板如何定义呢?又怎么改模板。有没有示例参考哦

--  作者:有点甜
--  发布时间:2018/1/24 21:37:00
--  

建议还是用方法一。

 

你让用户自己做一个模板,只需要做表头。然后把表内容saveexcel导出,然后你把表内容拷贝到模板那里去。

 

或者是,你直接在模板那里,导出表内容 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=103833&skin=0

 


--  作者:chnfo
--  发布时间:2018/1/24 21:56:00
--  
这个模板恐怕没法定义哟,因为列是动态的。比如这个月只有ABC三种商品,那么就只需要显示ABC的数量和金额这6列。下个月可能会有ABCDE五种商品,那就要显示10列了。
--  作者:有点甜
--  发布时间:2018/1/24 22:01:00
--  
以下是引用chnfo在2018/1/24 21:56:00的发言:
这个模板恐怕没法定义哟,因为列是动态的。比如这个月只有ABC三种商品,那么就只需要显示ABC的数量和金额这6列。下个月可能会有ABCDE五种商品,那就要显示10列了。

 

方法一:模板只需要定义最上面的表信息那些东西。下面的内容你用代码生成。

 

如果用方法二:那就动态插入列,设置一列动态列的样式,然后vba打开,拷贝,你表格由多少列,就拷贝多少次。


--  作者:chnfo
--  发布时间:2018/1/24 22:10:00
--  
因为表名称是最头上的嘛,它是要横贯所有的数据的列的。因为列是动态的,模板如何处理它要合并多少列呢?
如果加上供应商这一列,这个月有3种商品,那总列数就应当是7列;某个月有5种商品,那就是7*2+1=15列

是不要还要用代码处理表名的合并列呢

如果只是显示数据倒是简单,现在这个是有点小难受的
[此贴子已经被作者于2018/1/24 22:10:59编辑过]