Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:我做EXCEL报表的一点体会

1楼
yangming 发表于:2009/4/12 12:02:00
 

我做EXCEL报表的一点体会:

 

专业报表我也做了二张,一张是当月工资报表,一张是工资条,其它的报表我全是用EXCEL做了,由于对代码不是很熟悉,所以,我感觉用EXCEL更爽手多了,加上用EXCEL都十多年了,可以称的上是熟手了吧,再有就是用EXCEL非常直观,其好处就不用我多说了。

我想说的是,我使用EXCEL做报表的体会:

一、            如何更方便快捷?

1、先将狐表文件导出为EXCEL表,这样,我们就能快速的得到一张EXCEL表了,然后打开此表,删除其中的数据,只留下一行列标题,以我的一张报银行表为例,看下图:

选中第一行,然后将鼠标放在实发工资的右下角,按右键,这时我们就会看到一个实心的“十”,向下拖动鼠标,就会将第一行的所有列的数据复制下来了,结果如下图:

2、对第二行各列分别加上方括号:如日期改为:[日期],这个只能是一个一个的加上了

3、其它的就按照帮助文件的做就可以。


二、            关于引用单元格的问题:

做报表的朋友都知道,如果很多报表标题上都会加入时间,如果是固定的时间,那每个月做之前都要改标题,很麻烦,如何才能一劳永逸呢,我下面就是介绍这样的方法的。请看下图:

如果不看地址栏,不看到公式,我们以为表的标题就是自己输入的,其实这里引用了单元格的公式。


下面我就来说说具体的操作过程吧。

1、打开我隐藏的A列,将光标移到A1:

我们看到A1列的公式“=TODAY()”,这里要注意,A1单元格的格式要设置为日期型。

2、在表格的G2列设置公式为“=YEAR(A1)”

4、在表格的H2列设置公式为“=MONTH(A1)”

5、将上述三个单元格的字体颜色全改成白色,目的很清楚了,就是打印时别让人看见啊,呵呵。

6、最后一步,就是在标题所处的单元格放一公式:=CONCATENATE(G2,"年",H2,"月","报银行表"),还可以对标题进行字体、字号、颜色、加粗等处理。


看看打印的效果:

可能有朋友要问了,那为何不能直接输入公式:=YEAR(TODAY()),而要多费个周折呢,这个问题你自己实践一下就会明白了,呵呵。

注意事项:

1、在单元格输入公式后,一定要点回车键,不要直接用鼠标移动。

2、A1单元格的格式要设置为日期型。

图片很多,直接贴不上来,我将本文及图片做为附件上传吧
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:我做excel报表的一点体会.rar


还有一点要注意的是:引用的年和月的单元格必须是常规或是文本格式.
另外,如果是上一个月,那就将A1单元格的公式改成:“=TODAY()-28”,,这里的28就是天数,一年中二月份最少的天数是28天,所以放28不会有问题,当然,前提是标题中只是放年和月的.
[此贴子已经被作者于2009-4-12 13:21:39编辑过]
2楼
程兴刚 发表于:2009/4/12 12:35:00
谢谢分享,还不顶等啥时候!
3楼
易服 发表于:2009/4/12 13:12:00

学习

4楼
yangming 发表于:2009/4/12 13:22:00
    还有一点要注意的是:引用的年和月的单元格必须是常规或是文本格式.
另外,如果是上一个月,那就将A1单元格的公式改成:“=TODAY()-28”,,这里的28就是天数,一年中二月份最少的天数是28天,所以放28不会有问题,当然,前提是标题中只是放年和月的.

    已将此贴内容放到一楼了,
5楼
gdlgh 发表于:2009/4/12 15:19:00
大姐有心人,要顶!
6楼
狐狸爸爸 发表于:2009/4/13 7:59:00
我顶。
7楼
t_fs 发表于:2009/4/13 16:12:00
以下是引用yangming在2009-4-12 13:22:00的发言:
    还有一点要注意的是:引用的年和月的单元格必须是常规或是文本格式.
另外,如果是上一个月,那就将A1单元格的公式改成:“=TODAY()-28”,,这里的28就是天数,一年中二月份最少的天数是28天,所以放28不会有问题,当然,前提是标题中只是放年和月的.

    已将此贴内容放到一楼了,


     想问一下,如若打印日期没有规律时,这个日期怎么设置呢?如我想随机的打印一下某年某月报表,是不是只能用手直接修改的办法了。因为报表中经常会用到一些变量,如果EXCEL报表中能够引用变量值就非常完美了。

    不知老大能否实现在EXCEL报表中,引用狐表中的变量这一功能。否则的话,作为二次开发的软件,提交用户后,再交待用户更改这个日期值,是不安全的。

    EXCEL报表尚未学完,不一定正确,仅供参考。

8楼
don 发表于:2009/4/13 16:18:00
以下是引用t_fs在2009-4-13 16:12:00的发言:


     想问一下,如若打印日期没有规律时,这个日期怎么设置呢?如我想随机的打印一下某年某月报表,是不是只能用手直接修改的办法了。因为报表中经常会用到一些变量,如果EXCEL报表中能够引用变量值就非常完美了。

    不知老大能否实现在EXCEL报表中,引用狐表中的变量这一功能。否则的话,作为二次开发的软件,提交用户后,再交待用户更改这个日期值,是不安全的。

    EXCEL报表尚未学完,不一定正确,仅供参考。

一开始就能够!

一,引用全局变量

可以在Excel报表中引用全局变量,格式为:

[!全局变量名称]

全局变量可以参与表达式计算,例如:

{"起始日期:" & [!起始日期]}

二,使用标记

利用Marks集合,我们可以在报表模板中插入标记,然后在生成报表的时候,将标记替换为真正的值。

在Excel报表模板中插入一个标记的格式为:

<标记名称>

示例

假定报表中某个位置需要打印出当前登录用户的名称,我们可以在设计报表的时候,在该处插入标记:

<用户名>

标记的名称可以根据需要取。

然后在生成报表之前,利用Marks集合,将标记替换为真正的用户:

Dim Book As New XLS.Book("c:\book5.xls")
Book.Marks.Add(
"用户名",User.Name)
Book.Build()
Book.Save(
"c:\reports\test.xls")
Dim
Proc As New Process
Proc.File =
"c:\reports\test.xls"

Proc.Start()




9楼
czy 发表于:2009/4/13 16:19:00
我也顶。
10楼
t_fs 发表于:2009/4/13 16:38:00
能够就好,谢谢了
共13 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01953 s, 3 queries.