FastReport报表系统的使用

2025-11-12 18:12:17

1、网上大家都是建议用ocx开发报表控件。界面虽然直观,但是这个方法有局限性,它只支持IE,不支持谷歌,火狐等浏览器,我这就是直接转换打印出来的。

首先要确保你的电脑上安装了fastreport控件。高版本的delphi xe系列自带了。低版本还是需要自己安装了。下载地址:http://download.csdn.net/detail/bjcee/8873503

FastReport报表系统的使用

2、在界面上添加四个控件frxDBDataset1、frxReport1、frxHTMLExport1、ADOQuery1。个控件分别的作用:frxDBDataset1是报表控件和intraweb连接的纽带。frxReport1是报表编辑控件。frxHTMLExport1都出表格成html格式,为什么不用pdf呢?不是所用人的电脑上都装有pdf的。ADOQuery1数据控件。

FastReport报表系统的使用

3、把个控件的关系弄一下。frxReport1.DataSet := frxDBDataset1。frxDBDataset1.DataSet := ADOQuery1。所以说frxDBDataset1是纽带作用。ADOQuery连接IWUserSession.aConn。

FastReport报表系统的使用

FastReport报表系统的使用

4、为增加程序的可读性,我们再增加几个控件。IWTabControl1Page0(分页使用)、IWLabel1(标签时间)、TIWDateSelector1(时间选择)、btnPreview(预览按钮)、btnPrint(打印按钮)。

FastReport报表系统的使用

5、在程序目录下建两个文件夹,用于存放编辑的报表和缓存文件,我们定义他们的名字分别为reports,files。

FastReport报表系统的使用

6、开始用frxReport1编辑报表。在界面上双击frxReport1。弹出个界面。

FastReport报表系统的使用

7、先帮frxReport1选择数据源。【报表】→【数据】→勾上frxDBDataset1

FastReport报表系统的使用

8、编辑一个报表,保存在安装目录的reports里,命名为Day.fr3。其中每个小单元格里都是这样的:[frxDBDataset1."F_CarNO"]

FastReport报表系统的使用

9、接下来就是在预览的按钮里写代码了。代码如下:

procedure TiwfrmReport.btnPreviewClick(Sender: TObject);

var

       sSql:String;

       Lfile,webpath,LWindowName,LOptions ,lurl,surl:string;

       SelectTime:string;

       SeYear:string;

       YMDTime: TDateTime;

begin

     YMDTime := TIWDateSelector1.Date;

     SelectTime := FormatDateTime('yyyy-mm-dd',YMDTime);

     sSql:=' select * from T_Standard ';

     sSql := sSql + ' where F_Iscancel=0 and F_IsFinish=1 and F_EndTime like '''+selecttime+'%'' ';

     sSql := sSql + ' order by F_EndTime asc ';

     ADOQuery1.Connection:=dm.aConn;

     ADOQuery1.Close();

     ADOQuery1.SQL.Clear();

     ADOQuery1.SQL.Add(sSql);

     ADOQuery1.Open();

     webpath:=ExtractFilePath(Paramstr(0))+'reports\Day.fr3';//报表路径

     frxReport1.LoadFromFile(webpath);//加载报表

     Lfile:='printat'+FORMATDATETIME('hhmmss',NOW)+'.htm';//报表名

     frxhtmlexport1.FileName:=ExtractFilePath(Paramstr(0))+'files\'+webapplication.AppID+'\'+LFILE ;//报表输出路径

     ForceDirectories(ExtractFileDir(frxhtmlexport1.FileName));//强制创建文件夹

     frxreport1.PrepareReport();

     frxreport1.Export(frxHTMLExport1);//报表导出html格式

     LWindowName := '日报表';//页面名

     LOptions := 'scrollbars=yes,width=900,height=1058';//页面大小

     LURL := 'files/'+webapplication.AppID+'/'+LFile;//生产Url

     AddToInitProc('NewWindow("' + LURL + '", "' + LWindowName + '","' + LOptions + '");');//打开报表

end;

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢