如何在Delphi中将CSV文件作为数据集连接并使用FastReport VCL建立报告
报表生成器FastReport VCL是用于在您的软件中集成商务智能的现代解决方案。它提供了可视化模板设计器,可以访问最受欢迎的数据源,报告引擎,预览,将过滤器导出为30多种格式,并可以部署到云,Web,电子邮件和打印中。
近日,FastReport VCL升级到v6.6版,在此版本中,所有面板隐藏在“Data Tree”数据树,添加了新的线性条形码类型:Pharmacode,改进了预览窗口中的搜索,感兴趣的朋友可点击下方按钮下载最新版。
您可以点击此处,下载本文教程完整的演示Demo。
可能许多人遇到了在DELPHI中使用CSV文件作为数据集的问题。让我们看一下解决此问题的一种方法。我们将通过TADOQuery连接CSV文件,并在FastReport VCL 6中根据此数据生成报告。
创建一个项目并添加以下组件。
OHLC_Query : TADOQuery ; OHLC_Source : TDataSource ; OHLC_DB : TfrxDBDataset ; frxReport1 : TfrxReport ; frxDesigner1 : TfrxDesigner ; frxChartObject1 : TfrxChartObject ; ButtonShowReport : TButton ; ButtonDesignReport : TButton ;
要连接到CSV文件,我们将使用OHLC_Query:TADOQuery组件。
通过设置ConnectionString属性进行设置:
OHLC_Query.ConnectionString :=’Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\;Extended Properties="text;";Persist Security Info=False’
接下来,还需要根据Microsoft网站上的文档编写Schema.ini文件(//docs.microsoft.com/zh-cn/sql/odbc/microsoft/schema-ini-file-text-file-driver?view=sql-server-ver15),并将其添加到项目文件夹。
让我们分析示例CSV文件(EURUSD_200201_200410.csv)的示例,它具有以下结构:
数据使用“;”分隔。数据以更直观的形式显示,共有9列:
让我们创建一个文本文件并将其另存为schema.ini。
根据Microsoft网站上的文档(//docs.microsoft.com/zh-cn/sql/odbc/microsoft/schema-ini-file-text-file-driver?view=sql-server-ver15),此文件应具有以下结构:
[EURUSD_200201_200410.csv] ColNameHeader=True Format=Delimited(;) DecimalSymbol=. TextDelimiter=' CharacterSet=ANSI DateTimeFormat=yyyymmdd Col1=TICKER char Col2=PER integer Col3=DATE date Col4=TIME char Col5=OPEN float Col6=HIGH float Col7=LOW float Col8=CLOSE float Col9=VOL integer
为OHLC_Source和OHLC_DB设置必要的设置:
OHLC_Source.DataSet := OHLC_Query; OHLC_DB.DataSource := OHLC_Source; OHLC_DB.UserName := 'OHLC';
创建一个模板并将其另存为DemoCSV.fr3
并将数据集连接到模板
接下来,添加ButtonDesignReportClick,ButtonShowReportClick和FormCreate事件:
procedure TFormDemoCSV.ButtonDesignReportClick(Sender: TObject); begin frxReport1.DesignReport; end; procedure TFormDemoCSV.ButtonShowReportClick(Sender: TObject); begin frxReport1.ShowReport(); end; procedure TFormDemoCSV.FormCreate(Sender: TObject); begin frxReport1.LoadFromFile('./DemoCSV.fr3') end;
启动应用程序
当单击ButtonShowReport按钮时,将生成一个报告。
恭喜,您已将CSV文件作为数据集包含在Delphi中,并根据此数据在FastReport VCL 6中构建了一个报告!
还想要更多吗?您可以点击阅读【FastReport 报表2019最新资源盘点】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入FastReport技术交流群(783996712),我们很高兴为您提供查询和咨询。