• 水晶报表如何完美导出一个Excel表格(转)


    现有报表项目中,一般有把报表导出成Excel的要求
    而对于水晶报表来说,虽然带了导出Excel的功能,但是能导出一个能用的excel表格却不容易
    因为很容易就会出现跨行跨列的情况,默认导出是没有格线的,手工(或者导出时选了格线)加上格线后,会显得很难看
    最主要的是没法直接在上面用,这给报表的再处理也带来了很大的不便。

    很长一段时间以来,我一直是这么认为的,但是实际上,这是可以实现的。(非常感谢IBM的周勇)

    我们一般做格子状的显示,都是用大框加线条或者单纯线条来做的,其实只要换个方式,用字段的边框来实现就可以了。
    先来看一下最终效果


    需要说明的是,这个表格导出的时候,是没有选择“显示网格线”的


    以上制作方法同样适用于infoview/web方式地导出。

    我做了个操作视频,所以这里只是简单地说明一下。
    把要使用的字段全划拉上,右键,格式化,选边框


    注意,不是把字段的四个边全选上,比如在本例中,对于页眉上的几个表头字段,使用了左上下三边,最右边一个字段多了个右边
    这是因为前一个字段把后一个字段的左边框作为自己的右边框了
    同样的,对于详细资料节上的字段,只用左下两个边,最右边的加一个右边框即可
    这样详细资料节的每行的下边沿作为下一行的上边沿,对于第一行来说,它使用页眉上那一行的下边沿作为自己的上边沿

    比较绕口,呵呵,不过做几次就熟悉了。

    20090506更新:
    使用上述方法,如果字段中存在Null或空的情况,会导致出现一个白色的区块,没有边框。可用如下方法解决:

    如果是字符型的字段

    if {字段}='' or isnull(字段)  then
    ' '
    else
    {字段}

    如果是数值型字段

    if {字段}='' or isnull(字段)  then
    0
    else
    {字段}

    把这个公式放到原来字段的位置上,同样设置边框等就可以了


    以下为视频文件及模板(本文附带了一个按条件更改背景色的效果,是为了解决另外一个网友的问题,不是必须的)
    https://files.cnblogs.com/babyt/CR2008040401.rar
    解压缩密码为:babyt

  • 相关阅读:
    NOI-01:查找最接近的元素 基本二分
    C#学习笔记之——数据库操作的相关类
    Lua学习笔记——环境安装(Windows和MacOS)和在MacOS安装时错误解决方法
    Ubuntu下对数据库的操作
    Git常用操作
    [Unity游戏开发]常用类之Time类
    [Unity游戏开发]四元数Quaternion
    [Unity游戏开发]常用类之Transform类
    [Unity游戏开发]常用类之Component类
    [Unity游戏开发]射线(Ray)
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/1528567.html
Copyright © 2020-2023  润新知