以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  完全自动化的EXCEL报表,供老六参考  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=778)

--  作者:reachtone
--  发布时间:2008/10/6 11:45:00
--  完全自动化的EXCEL报表,供老六参考

    一、下载附件,解包到任意文件夹。自带了两个模板文件例子,存放在解包目录的“模板”文件夹下。如要使用本示例自带模板,请在文件名称上双击重新设置正确的路径。如要正确打印卡片式报表,也请打开ceshi.mdb文件,将图片设置为正确的路径。否则,图片将无法正常输出。


    二、Excel模板文件的相关约定

    (1) 字段名称必须用[]括上;
    (2) 字段名称必须和查询结果字段相同;
    (3) 列表式报表的字段定义必须位于同一行,而且这一行的第一个单元格必须是字段定义;
    (4) 图片字段必须在字段定义后加上"图片"二字,例如 [产品样式]-图片。这里的图片字段是指以存放对应文件名称的字符型字段;
    (5) 图片和备注型字段在生成 EXCEL报表时会自动适应单元格。因此,在设计模板时,请将相应的单元格调整到合适大小;
    (6) 通过EXCEL,可以在模板中设置任意复杂的表头、字体和表格线,也可为表体中的每个单元格分别设置相应的格式。系统在导出 EXCEL报表时,将自动按照用户设置的格式进行输出;
    (7) 一个EXCEL模板文件中,可以设置多个模板工作表。


    三、EXCEL报表管理方法

    (1) 可以通过“增加报表”按钮,随时增加自己需要的任何报表。需要注意的是,在增加报表之前,请先根据需求设计好EXCEL报表模板文件;
    (2) 可以通过“删除报表”按钮,随时删除自己不需要的报表;
    (3) 点击到任一报表名称时,还可随时对该报表的相关设置进行修改;
    (4) “卡片式”仅输出查询结果中的当前记录,“列表式”则输出查询结果中的所有记录。查询结果可通过修改相应的SQL查询语句动态进行调整;
    (5) 当输出的目标EXCEL文件存在时, 如果选择“覆盖原文件”,则以设定的目标工作表名称覆盖原来的文件;否则,输出结果将直接追加到同名工作表中(如果不存在同名工作表,则会自动增加)。

    因权限限制,分成两个包上传:

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

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


--  作者:reachtone
--  发布时间:2008/10/6 11:48:00
--  
最新版本的EXCEL报表,还可实现:
1、列方向内容相同,可以自动合并单元格;
2、表头表尾可通过变量动态赋值。
特别说明:一楼的例子使用其它工具开发,仅供老六参考。

多记录列表式的例子:

建个EXCEL模版文件,模板文件中引用的字段用[]括起来即可。如下图就是一个模版文件:

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

输出的EXCEL报表:


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-10-6 12:12:59编辑过]

--  作者:cpayinyuan
--  发布时间:2008/10/6 12:11:00
--  
   看起来,用Excel作报表模板时,自动读取多行记录肯定是可以实现的,期待贺老师认真参考一下,早日在狐表中也实现类似的功能,甚至更为方便、更为强大灵活!
    热烈期盼中!
--  作者:reachtone
--  发布时间:2008/10/6 12:18:00
--  

我现在全部都用EXCEL模板输出各种报表了,用EXCEL制做各种模板实在太方便。跟易表的操作方法差不多,设个表头、表体、表尾就行。而且,各种格式设置起来实在也是太方便了。


--  作者:狐狸爸爸
--  发布时间:2008/10/6 12:20:00
--  

呵呵,谢谢了,我先看看。


--  作者:狐狸爸爸
--  发布时间:2008/10/6 12:21:00
--  

请教一下,模板设计的时候,如何区分表头、细节区、表尾呢?


--  作者:程兴刚
--  发布时间:2008/10/6 12:26:00
--  
以下是引用狐狸爸爸在2008-10-6 12:21:00的发言:

请教一下,模板设计的时候,如何区分表头、细节区、表尾呢?


是不是细节区有中括号[]的缘故,我没接触过,只是猜想!


--  作者:狐狸爸爸
--  发布时间:2008/10/6 12:30:00
--  
还有,如果细节区是多行呢?
--  作者:gdtgl
--  发布时间:2008/10/6 12:34:00
--  

关联表时..这个更重要吧?如仅仅是楼主的图片的功能,现在的foxtable能做到.(打关联表时就麻烦死了..)我选择学习专业报表了.


--  作者:reachtone
--  发布时间:2008/10/6 12:45:00
--  
以下是引用狐狸爸爸在2008-10-6 12:30:00的发言:
还有,如果细节区是多行呢?

目前只能是一行,也就是以[]区分细节区。多行的问题我没考虑过,在我的应用中暂时还不需要。

另外,在我的应用中不存在关联表的说法,因为我所有的查询,如果涉及到多表的,都是用一条语句SQL语句输出。所以,这样的EXCEL报表只要一个数据源就可以了。