報告設計建議
本章將討論用于導出到其他數據格式的報告的特殊設計要求。
在創建報告時,FastReport 允許使用大量方法來操作對象。這為快速開發任何報告和進一步打印報告提供了優勢。打印出來的文件看起來就像顯示出來的一樣。這也是使用 FastReport 報告生成器的主要目的。
這種開發自由度的缺點是將 FastReport 文檔導出為不同數據格式的復雜性,這些格式對信息展示有自己的限制和要求,有時相當復雜。許多格式,如 HTML、XLS 或 RTF,使用表格數據顯示。在表格標記時,這些格式不允許單元格交叉或分層排列。
導出過濾器通常會考慮到這些要求。這是通過特殊算法實現的,該算法會考慮到對象的交叉,并以最佳方式放置它們。對象交叉時,輸出表格中會出現新的列和行。這是使結果與原始報告達到最大相似度的必要條件。在報告設計中,大量的交叉對象會導致結果表中的列數和行數增加,從而影響文件的大小和復雜性。
導出的質量在很大程度上取決于初始報表的設計是否得當。讓我們看看下面的例子:
同一波段上的兩個物體一前一后略有交叉。報告形成時的記錄數為 150 條。導出為 RTF 格式時將創建 450 行(每個對象 150 行,交叉 150 行)。如果刪除交叉記錄,生成的表格中將只有 300 行。在大型報告和大量對象的情況下,這種差異將非常巨大。當然,這也會影響輸出文件的大小。
在報表中創建表格時,請注意相鄰單元格的邊界。重要的是單元格不能交叉和分層排列。導出過濾算法會截斷單元格,但導出結果可能不盡如人意(您看到的不完全是您想要的)。排列對象時,要使它們在垂直和水平方向上都排成一行。指南可以幫助實現這一點。
網格對齊也有助于解決單元格重疊的問題。在設計器選項中啟用網格對齊。為了簡化對齊方式,可以擴展網格間距。網格間距和對齊方式的設置可以在 "View|Options... "菜單中找到:
對于文字框架,最好使用文字對象的邊框,而不是線條、矩形等單一圖形對象。盡量不要在透明文本對象下使用背景對象。
應用這些簡單的規則將幫助您創建一份報表,在導出為任何基于表格的格式后,它都將看起來非常完美。
如需下載fastreport最新試用版,請點產品名跳轉產品下載頁>>