技术开发 频道

SQL Server 2005报表设计:非常好的实践和指导

    在指定Excel报表中使用表格代替列表

    表格使用固定的列宽。这很好的满足Excel报表中的表格格式。当渲染为Excel时,报表中的报表项会像我们期望一样排列。

    与表格相比,列表是一种自由表单的风格。列表中的报表项将被放置在工作表中像对于在报表中的位置。这样会导致意想不到的结果。如果你的报表中使用了列表,要确认渲染成Excel的结果是可以接受的。

    即使使用表格,如果在你的报表中页眉跨越多个列,Excel渲染扩展可能合并单元格或引入新的列。这样会在Excel电子表格中影响数据的排序和操作。如果你计划将报表渲染为Excel,请设法确认报表项排列能将单元格合并减到最小。

    长报表的最大页数

    为了预防生成Excel产生错误,你应该注意冗长报表的页数。报表中的每页都会变成Excel中的一个工作表。然而,每一个工作簿中为了限制对内存的使用,会有一个最大的工作表数量。如果报表页面超过了这个限制,Excel会生成一个错误。

    渲染为Excel时的颜色差异

    支持一套预定义的颜色。当你渲染报表时,Excel渲染扩展将报表中的颜色应设成Excel支持颜色中最接近的颜色。

    图像

    图像渲染扩展可以将报表渲染成位图或图元文件。默认情况下,它将数据渲染成TIFF格式。然而他也可以生成被GDI+支持的任何格式,包括BMP,EMF,GIF,JPEG和PNG。

    在报表服务器中图像渲染处理在一个虚拟的页面中进行,并在这个页面创建图像。结果,在任何客户端上,基于图像的报表在字体和布局上看起来都是一样的。

    当你使用TIFF文件时,你可以查看多页面报表。然而,其他的图像格式为将为每一个报表页面生成一个图像文件。

    图像渲染也支持页面高度,页面宽度和页边距。任何报表中包含的页眉和页脚都会在报表边界内被渲染。

    使用图像渲染为所有的客户端创建同样的报表

    如果你希望在所有客户端看到同样的报表,你应该使用图像渲染。特别是当报表渲染时,HTML报表使用客户端子体和浏览器设置。这意味着当客户端使用不同的浏览器时报表的布局会有所不同。因为图像文件在报表服务器上格式化,它们渲染成的图片在任何客户端上的显示都是一样的。

    在报表服务器上安装适当的字体

    你应该确认在报表服务器上安装的正确的字体。这是因为报表实际上是在报表服务器上渲染,它使用了在报表服务器上所安装的字体。

    便携文档格式

    便携文档格式(PDF)渲染扩展创建的报表可以使用Adobe Acrobat readers打开查看。在很多方面上,PDF扩展类似于图片扩展,除了下列重要的差异:

    ◆在PDF报表中字体没有被嵌入到报表中。
    ◆文档结构图被渲染成PDF书签。
    ◆你可以在设备选项中指定页面的宽度高度、边距和PDF的分辨率。
    ◆渲染扩展创建的PDF1.3版本的文件和Adobe Acrobat 4.0机器以后版本兼容。
    ◆PDF渲染扩展不支持 RepeatWith属性。

    在客户机中安装适当的字体

    PDF扩展无法在报表中嵌入字体。为了正确的查看报表的字体,你不仅需要在报表服务器上确认安装该字体,也要确认该字体在查看报表的客户端中正确安装了。另外字体替代现象很有可能发生。

    HTML

    HTML扩展可以生成与Microsoft? Internet Explorer,Mozilla Firefox及Apple Safari兼容的HTML 4.0页面。

    HTML渲染和其他的渲染有以下的不同:

    ◆HTML渲染扩展在HTML中生成了一个包含所有报表控件项的表格。控件项将保持在报表布局时的位置。
    ◆位置和大小使用毫米(mm)为单位表示。渲染的最小单位是0.2毫米。
    ◆HTML不支持对象的重叠。这样导致当报表显示时布局被改变了。
    ◆在HTML报表中,子报表被渲染在DIV标签中。

    客户端变化

    当在客户端显示时,HTML报表使用浏览器的特性来设置。另外字体的变化,其他的浏览器设置可以做相应的处理改变。如果你想恰到好处的控制在所有客户端上的布局,考虑使用图像渲染扩展。

    不同浏览器的差异

    SQL Server 2005报表服务包括了对于不同浏览器的支持例如Microsoft Internet Explorer, Mozilla Firefox 和Apple Safari。尽管大多数的报表的特性在这些浏览器上都是被支持的,你也应该在相应浏览器上测试确认其满足你的需求。

    实用的报表设计技巧

    本节提供了使用表达式来巧妙处理报表格式和布局的技巧和技术。

    使用矩形保持对象的紧凑

    在报表服务中矩形可以被用于图形元素或者对象的容器。做为对象容器,它可以是在一个页面上的对象保持适当的距离并控制对象项目移动式的位置。

    为了保持多个对象在同一个页面中,可以将对象放在一个矩形内。你通过设置矩形的PageBreakAtStart或PageBreakAtEnd属性在矩形的前后添加分页符。

    使用矩形控制报表项的增加位置移动

    在同一个矩形中的控件相互间是同等的并且当控件增长或移动时通过统一的规则在页面中排布。例如:

    报表项通过通过各自的矩形来推动和置换。

    ◆报表项不能和矩形外报表项推动或置换,因为他们不在一个级别上。
    ◆如果需要,矩形可以增长来适应所包含的控件。

    当处理会扩展的对象时,你可以利用这个逻辑的功能。例如:

    ◆如果你为你的报表扩展预留出一些空白的空间,可以将表格和相应的空白空间放止于同一个矩形。当表格增长,它会被置于预留好的空白空间中。
    ◆如果你防止矩阵扩展出页面的右侧边缘,可以将矩阵和一些空白放入同一个矩形中。
0
相关文章