FastReport报表系统的使用

 时间:2026-02-12 08:27:43

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;

  • Windows7如何让任务栏相同类型的图标不重叠显示
  • intouch的报警怎么用语音通知到手机用户
  • 信捷PLC如何释放串口指令
  • 怎样查看Windows系统都得系统补丁
  • 360极速浏览器开启预加载
  • 热门搜索
    浙江有什么旅游景点 知己是什么意思 钻不锈钢用什么钻头 随心所欲的意思 id是什么意思啊 genuine什么意思 加盟什么项目好 青橄榄的功效与作用 py交易是什么意思 什么是创意美术