报告设计建议
本章将讨论用于导出到其他数据格式的报告的特殊设计要求。
在创建报告时,FastReport 允许使用大量方法来操作对象。这为快速开发任何报告和进一步打印报告提供了优势。打印出来的文件看起来就像显示出来的一样。这也是使用 FastReport 报告生成器的主要目的。
这种开发自由度的缺点是将 FastReport 文档导出为不同数据格式的复杂性,这些格式对信息展示有自己的限制和要求,有时相当复杂。许多格式,如 HTML、XLS 或 RTF,使用表格数据显示。在表格标记时,这些格式不允许单元格交叉或分层排列。
导出过滤器通常会考虑到这些要求。这是通过特殊算法实现的,该算法会考虑到对象的交叉,并以最佳方式放置它们。对象交叉时,输出表格中会出现新的列和行。这是使结果与原始报告达到最大相似度的必要条件。在报告设计中,大量的交叉对象会导致结果表中的列数和行数增加,从而影响文件的大小和复杂性。
导出的质量在很大程度上取决于初始报表的设计是否得当。让我们看看下面的例子:
同一波段上的两个物体一前一后略有交叉。报告形成时的记录数为 150 条。导出为 RTF 格式时将创建 450 行(每个对象 150 行,交叉 150 行)。如果删除交叉记录,生成的表格中将只有 300 行。在大型报告和大量对象的情况下,这种差异将非常巨大。当然,这也会影响输出文件的大小。
在报表中创建表格时,请注意相邻单元格的边界。重要的是单元格不能交叉和分层排列。导出过滤算法会截断单元格,但导出结果可能不尽如人意(您看到的不完全是您想要的)。排列对象时,要使它们在垂直和水平方向上都排成一行。指南可以帮助实现这一点。
网格对齐也有助于解决单元格重叠的问题。在设计器选项中启用网格对齐。为了简化对齐方式,可以扩展网格间距。网格间距和对齐方式的设置可以在 "View|Options... "菜单中找到:
对于文字框架,最好使用文字对象的边框,而不是线条、矩形等单一图形对象。尽量不要在透明文本对象下使用背景对象。
应用这些简单的规则将帮助您创建一份报表,在导出为任何基于表格的格式后,它都将看起来非常完美。
如需下载fastreport最新试用版,请点产品名跳转产品下载页>>