FastReport .Net是适用于Windows Forms,ASP.NET,MVC和.NET Core的全功能报表解决方案。它可以在Microsoft Visual Studio 2005-2019中使用。支持.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。
在FastReport .NET 2021.1的新版本中,我们实现了对.NET 5的支持。添加了新条形码-Deutsce Post Leitcode。将RTF转换为报告对象的算法已得到显着改进。并且还添加了用于转换数字的新功能。欢迎下载体验。(点击下方按钮下载)
立即点击下载FastReport.NET v2021.1最新版
如何将大量数据转化为内容丰富的报告?
在可以创建,填充,修改和管理数据的许多DBMS中,Oracle DB,MySQL,Microsoft SQL Server,PostgreSQL,FireBird可能是最受欢迎的,但绝不是全部。
通常,他们会在很长一段时间内都充满这些数据(例如,在计时系统,货物定单中,以及“如何从中获取信息?”的问题)(可读性,视觉和人眼均可理解,以供进一步分析)推迟到以后。让我们考虑“然后”做什么-当我们拥有“完整的数据库”并且我们(或公司的管理层)想知道“实际情况是什么?让我们有效地利用我们在流程中收集的数据,从这些数据中获取信息并基于该信息做出决策!”。基本上,这就是用简单语言定义的商业智能(BI)。
创建它们(报告)的可能性很多,但是在这里我们将看一下FastReport VCL。有一个用于生成模板的设计器,一个预览图和许多其他功能可以执行不同级别的任务-我们在其他文章中已经介绍过它们,但仍然没有全部看到。
FastReport可以同时使用多个数据源(数据库),或者从所谓的用户源(不是数据库)(数组或常规文件)中检索它们。
如何在Delphi中从DB获取信息?
为了连接数据源,必须从组件面板中应用连接器(TfrxDBDataSet)。这是数据和FastReport之间的链接。
现在,我将简要介绍一下这些组件的作用:
TfrxDBDataSet是用于处理数据源的元素,它也与TDataSet兼容,但是TfrxIBODataSet用于IB对象,TfrxUserDataSet也用于其他资源-数组,文件等。
首先,使用DataSet属性连接到查询或表本身,或者数据源(它连接到TDataSource组件)。
为了使数据已经存在于报告中,您需要指定将哪些数据放入我们的报告中!这也很容易做到。
在FastReport VCL设计器中的菜单Report-> Data中选择。
选择必要的元素,然后单击“确定”!
将此数据源连接到频段。在其属性中选择DataSet(表)。现在将表/请求字段拖放到适当的区域。单次拖动后,在基带-字段上具有自动链接的特殊性。
如果需要查看生成的报告,可以使用预览!不要忘记,您几乎可以添加任何东西,无论是QR码,地图 还是其他附件,在FastReport VCL中就足够了。
预习:
在左上角选择“文件”。
设置列表将立即出现。在其中选择“预览”。 而已!完成此操作后,您将看到完成的报告的外观。
如果您满意,则可以保存为其他格式,然后导出到云存储或PC内存以及进行打印。 选择“保存”和所需的格式。
所选的将被发送到指定位置进行保存/导出!
根据代码生成报告需要执行以下步骤:
-清除报告。
-添加数据源。
-添加“数据”页面
-添加报告页面。
-在页面上添加乐队。
-设置频段属性并将其连接到数据。
-在每个频段上添加对象。
-设置对象属性并将其连接到数据。
保存模板,然后按“预览”!
报告准备好了!我们还可以将其保存为XML,PDF,甚至CSV或DBF,以便进行进一步分析!
我知道,如此大量的屏幕截图会使人感到沮丧。但是在撰写本文时,制作所有这些屏幕截图是最长,最耗时的任务。编写报告本身大约需要5分钟。并且如果它更快并且没有截图?
在Delphi / Lazarus的数据库中创建报告-代码!
考虑创建一个简单的“列表”类型的报告。假设我们有组件frxReport1:TfrxReport和frxDBDataSet1:TfrxDBDataSet(后者与来自DBDEMOS表Customer.db的数据连接)。我们的报告将包含一页,其中包含报告标题和主数据库。报告标题栏将包含一个带有文本“ Hello FastReport!”的对象。并且主数据将具有一个引用字段“ CustNo”的对象。
在Delphi / Lazarus / C ++ Builder中将数据库数据转换为文档
var DataPage: TfrxDataPage; Page: TfrxReportPage; Band: TfrxBand; DataBand: TfrxMasterData; Memo: TfrxMemoView; { Clear the report } frxReport1.Clear; { add data source to the available list for the report } frxReport1.DataSets.Add(frxDBDataSet1); { add “data” page } DataPage := TfrxDataPage.Create(frxReport1); { add page } Page := TfrxReportPage.Create(frxReport1); { create unique name } Page.CreateUniqueName; { set page properties by default } Page.SetDefaults; { change page orientation } Page.Orientation := poLandscape; { add report title } Band := TfrxReportTitle.Create(Page); Band.CreateUniqueName; { it’e enough for a band to set coordinate Top and hight } { both coordinates are in pixels } Band.Top := 0; Band.Height := 20; { add object on report title } Memo := TfrxMemoView.Create(Band); Memo.CreateUniqueName; Memo.Text := 'Hello FastReport!'; Memo.Height := 20; { this object will be aligned with the band width } Memo.Align := baWidth; { add master data } DataBand := TfrxMasterData.Create(Page); DataBand.CreateUniqueName; DataBand.DataSet := frxDBDataSet1; { coordinate Top shouldn’t cross the previous band! } DataBand.Top := 100; DataBand.Height := 20; { add object on master data } Memo := TfrxMemoView.Create(DataBand); Memo.CreateUniqueName; { connect to data } Memo.DataSet := frxDBDataSet1; Memo.DataField := 'CustNo'; Memo.SetBounds(0, 0, 100, 20); { align text on the right side of the object } Memo.HAlign := haRight; { show the report } frxReport1.ShowReport;
因此-我们已经了解了如何将不可见但已收集的数据转换为报告-文档。您现在可以发布它们或将其传递给分析师!
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/2948.html