水晶报表--excel(下)

转载 2011年12月12日 09:06:00
  主要讲解了如何做一个基础的到处样式,

本文在上文的基础上,实现类Excel的一个操作,就是单元格横向和纵向合并。以及加底色的效果,如下图


以前文的基础进行改造

1:横向单元格合并

删除掉后表头最后一个文本项


然后把前一个项目拉到与最后一个字段等宽,注意右边要对齐


预览一下


导出效果


很简单吧,呵呵

2:纵向合并

我们仅以第一列为例,每三行合并做一次合并。
其原理是这样的:
根据数据序号,当是3的倍数的时候,线条显示。如果不是3的倍数,线条就不显示。

示意图

在一个3行的区块内,把蓝色标识的两条线拿掉。

可能你不是太理解,继续往下看
选中第一列,点右键,格式化对象,在“边框”标签页上设置底边的边框后面的公式



上面绿色的注释是原来自带的
特别说明一下,考虑到可能数据不是3的倍数,那么最后一行可能就是空白了(线条被抑制显示掉了)
所以增加了一个onlastrecord的保护
onlastrecord是水晶报表中最后一条记录的标识。

设置好后看预览效果,我做了放大。注意每个行之间有个缝隙。
这就是这个方案的缺点。这个缝隙,就是我们线条设置为CrNoline后的空隙。
因为第1个字段跟后面的字段是等高的(包含边框的高度),去掉边框后,它就比后面的字段少了一条线的高度
于是空隙就出来了


(此问题在本文的最后已经得到完善)

导出来看一下,效果还是很好的,呵呵


合并单元格里的内容我没有改,因为这个数据不是太合适。
这个可进一步参考我之前写的《如何实现中式报表的组名合并风格

3:加底色

按住Ctrl,选中详细资料节中要加底色的列。在其中一列上点右键
进入到图中所示的界面上,勾选背景色。点“更多”,选择一个合适的颜色


注意色盘中的颜色,右侧可以看到RGB值,记录下来 255,255,128


然后点确定,这时候所有的行都染色了。而且会出现压线的情况(部分竖线不见了)
先不管,先按照之前,把后面的字段依次移动到底层


然后继续将颜色限定在第3行,再次选中这几个字段,点右键,在出来的界面上,编辑"背景"后面的公式(x+2)

3的倍数的行上显示我们要的颜色,否则就不显示背景色,预览效果如下


再后面就简单了,在报表页脚上增加一个汇总和一个文本框,设置边框为:下右

设置好对齐(可参考前文的方法),然后设置其背景为我们要的颜色
预览效果如下


导出效果如下


有时候我们会发现,有些地方怎么对都对不齐,比如我们这个图,放大一点也可以看出来

而实际上,导出来的效果仍然是好的,这是设计器本身的问题

说明:
有时候对齐确实很困难,可以用设定属性的方法来更精确的定位,就是麻烦一些
点中某一字段,看属性里面,可以设置其:Top,width,Left,Height
注意这个Top是从每个节的左端点开始算起的,不是整个报表的左端点。


版本修订:
20090709:
很意外,没想到这个方案的最大问题,就是有间隙的问题,竟然被解决了。。。
解决方法:
因为线条在世纪导出Excel的时候是不导出的,
所以用在原来有空隙的位置上覆盖一条线,盖住原来的缝隙,


注意线条的起始端点位置。

显示效果如下:


这样既保证了显示效果,又不影响导出效果,非常不错。
(PS:
这个方法不是我想出来的,是SAP的技术人员想出来的,
最近SAP派了几员大将来解决历史遗留问题,看来我也终于能更新更新知识了。呵呵~~)


水晶报表文件导出方法小结

近期在做水晶报表时,作者用到了水晶报表文件导出功能。在网上一搜,资料还真多,这些资料不仅多,而且非常的杂乱,让人看得非常不舒服。于是在此将其作了一点汇总和整理,以供大家参考。写的不好,请多包涵。 命...
  • SunCherryDream
  • SunCherryDream
  • 2015年04月29日 18:46
  • 3216

水晶报表教程:手把手教你制作基本报表

标签:水晶报表 概述:本文手把手教你制作最基本的水晶报表。 水晶报表教程:发票套打水晶报表教程:手把手教你制作基本报表水晶报表教程:动态传递参数水晶报表教程:C#中创建水晶...
  • pk52020081
  • pk52020081
  • 2015年05月11日 09:42
  • 5136

水晶报表繁体转简体心得:之一 RPT文件篇

水晶报表7.0作为一个很久的版本,不支持全选、不支持批次修改,极大地制约了修改的进度。但好在“铁杵磨成针”,苦干加巧干,还是圆满、快速地完成了任务!...
  • mrtorney
  • mrtorney
  • 2016年02月29日 21:51
  • 1753

水晶报表--完美excel(上)

很多人说水晶报表导出的Excel太难看,或者导出的Excel根本没法用,其实水晶报表是可以完整导出到Excel的 当然,水晶报表与其他基于CELL的报表工具相比,对Excel的支持是很弱的。而所谓的...
  • yuduo1112
  • yuduo1112
  • 2011年12月12日 08:50
  • 1348

【水晶报表内功心法】--完美Excel(下)(转载)

水晶报表教程,强烈推荐CSDN上babyt(阿泰)的帖子(以下内容皆转帖自此贴以及其子连接): http://topic.csdn.net/u/20090713/18/6e14bf28-1979-4...
  • bigheadsheep
  • bigheadsheep
  • 2012年07月17日 10:11
  • 517

[水晶报表]导出PDF or Excel,并返回文件到用户的IE浏览器中

using System; using System.Collections; using System.ComponentModel; using System.Data; using Sy...
  • david_520042
  • david_520042
  • 2012年07月10日 12:37
  • 1433

VB.net 将水晶报表导出成pdf,word,excel等制定文件

  • 2009年03月13日 11:23
  • 68KB
  • 下载

水晶报表如何完美导出一个Excel表格

  • 2008年04月10日 09:56
  • 2.53MB
  • 下载

水晶报表:交叉表页内自动“换行”

转自:http://topic.csdn.net/u/20090422/00/6ad57982-d44c-44a8-8089-e19107b0c86c.html 使用交叉表时,会遇到这种情况:列非常多...
  • jyz123456
  • jyz123456
  • 2011年03月25日 11:37
  • 1441

水晶报表(CrystalReports)的简单应用(ASP.NET)

Visual studio 2008 自带水晶报表10 ASP.NET网站中的简单应用 本次示例目的只是让刚接触水晶报表的朋友掌握其应用,因此示例以简单,简洁,清晰为主,没有连接后台数据库。 V...
  • ajaxtop
  • ajaxtop
  • 2011年08月09日 14:04
  • 26988
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:水晶报表--excel(下)
举报原因:
原因补充:

(最多只允许输入30个字)