1、水晶报表内功心法完美Excel下【水晶报表内功心法】-完美Excel主要讲解了如何做一个基础的到处样式, 本文在上文的基础上,实现类Excel的一个操作,就是单元格横向和纵向合并。以及加底色的效果,如下图 以前文的基础进行改造1:横向单元格合并 删除掉后表头最后一个文本项 然后把前一个项目拉到与最后一个字段等宽,注意右边要对齐 预览一下导出效果 很简单吧,呵呵 2:纵向合并 我们仅以第一列为例,每三行合并做一次合并。 其原理是这样的: 根据数据序号,当是3的倍数的时候,线条显示。如果不是3的倍数,线条就不显示。 示意图 在一个3行的区块内,把蓝色标识的两条线拿掉。可能你不是太理解,继续往下看
2、选中第一列,点右键,格式化对象,在“边框”标签页上设置底边的边框后面的公式 上面绿色的注释是原来自带的 特别说明一下,考虑到可能数据不是3的倍数,那么最后一行可能就是空白了(线条被抑制显示掉了) 所以增加了一个onlastrecord的保护 onlastrecord是水晶报表中最后一条记录的标识。设置好后看预览效果,我做了放大。注意每个行之间有个缝隙。 这就是这个方案的缺点。这个缝隙,就是我们线条设置为CrNoline后的空隙。 因为第1个字段跟后面的字段是等高的(包含边框的高度),去掉边框后,它就比后面的字段少了一条线的高度 于是空隙就出来了 (此问题在本文的最后已经得到完善)导出来看一下,
3、效果还是很好的,呵呵 合并单元格里的内容我没有改,因为这个数据不是太合适。 这个可进一步参考我之前写的如何实现中式报表的组名合并风格3:加底色 按住Ctrl,选中详细资料节中要加底色的列。在其中一列上点右键 进入到图中所示的界面上,勾选背景色。点“更多”,选择一个合适的颜色 注意色盘中的颜色,右侧可以看到RGB值,记录下来 255,255,128 然后点确定,这时候所有的行都染色了。而且会出现压线的情况(部分竖线不见了) 先不管,先按照之前,把后面的字段依次移动到底层 然后继续将颜色限定在第3行,再次选中这几个字段,点右键,在出来的界面上,编辑背景后面的公式(x+2) 3的倍数的行上显示我们要
4、的颜色,否则就不显示背景色,预览效果如下 再后面就简单了,在报表页脚上增加一个汇总和一个文本框,设置边框为:下右 设置好对齐(可参考前文的方法),然后设置其背景为我们要的颜色预览效果如下 导出效果如下 有时候我们会发现,有些地方怎么对都对不齐,比如我们这个图,放大一点也可以看出来 而实际上,导出来的效果仍然是好的,这是设计器本身的问题 说明:有时候对齐确实很困难,可以用设定属性的方法来更精确的定位,就是麻烦一些 点中某一字段,看属性里面,可以设置其:Top,width,Left,Height 注意这个Top是从每个节的左端点开始算起的,不是整个报表的左端点。 版本修订: 20090709: 很意外,没想到这个方案的最大问题,就是有间隙的问题,竟然被解决了。 解决方法: 因为线条在世纪导出Excel的时候是不导出的, 所以用在原来有空隙的位置上覆盖一条线,盖住原来的缝隙, 注意线条的起始端点位置。显示效果如下: 这样既保证了显示效果,又不影响导出效果,非常不错。