组态王月报表制作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组态王报表制作
第一步,新建“后台处理”画面,其风格与后面的“日报”画面一致,只是少了一些按钮及组合图框。如下图
报表控件为:report5
第二步,新建“后台月报”画面,其风格与后面的“月报”画面一致,只是少了一些按钮及组合图框。如下图
报表控件为:report7
第三步:执行指令生成日报及月报文件(后缀名为rtl,同时可生成.xls文件)
在“事件命令语言”中新建两个事件:
1、第一个事件为:\\本站点\$分==0&&\\本站点\$秒==0
在该事件“消失时”写入如下脚本(该事件为每个小时写入一次数据):
string FileName1=InfoAppDir()+"日报\"+ StrFromReal(\\本站点\$年, 0, "f")+"y"+StrFromReal(\\本站点\$月, 0, "f")+"m"+StrFromReal(\\本站点\$日, 0, "f" )+".rtl";
//自定义变量
long return01=InfoFile( Filename1, 1,\\本站点\$分);
//判断日报目录下是否已经有当天的报表文件了
if (return01==0)
{
string FileName=InfoAppDir()+"报表\日报.rtl";
ReportLoad("Report5",FileName);
FileName=InfoAppDir()+"日报\"+StrFromReal( \\本站点\$年, 0,
"f" )+"y"+StrFromReal($月, 0, "f" )+"m"+StrFromReal($日, 0, "f" )+".rtl"; ReportSaveAs("Report5",FileName);
}
//如果没有报表文件则从报表目录下调取模板创建报表文件
ReportLoad("Report5",FileName1);
ReportSetCellString("report5", 3,10,\\本站点\$日期);
long hang=\\本站点\$时+6;//定义写入不同时间写入不同的行,将0点至1点的写入第六行,后面的往后加
string timestr=time(\\本站点\$时,0,0); //定义时间变量
ReportSetCellString("report5", hang,1,timestr);
ReportSetCellValue("report5",hang,2,\\本站点\颗粒物);
ReportSetCellValue("report5",hang,3,\\本站点\颗粒物折算);
ReportSetCellValue("report5", hang,4,\\本站点\SO2);
ReportSetCellValue("report5", hang,5,\\本站点\SO2折算);
ReportSetCellValue("report5", hang,6,\\本站点\NO2);
ReportSetCellValue("report5", hang,7,\\本站点\NO2折算);
ReportSetCellValue("report5", hang,8,\\本站点\流量);
ReportSetCellValue("report5", hang,9,\\本站点\O2);
ReportSetCellValue("report5", hang,10,\\本站点\温度);
ReportSetCellValue("report5", hang,11,\\本站点\水分);
//ReportSetCellString就是将变量数值写入到报表的那一列中
ReportSaveAs("Report5",FileName1);//将数据保存到报表中
2、第二个事件为:\\本站点\$时==23
在该事件“消失时”写入如下脚本(该事件为每天写入一次数据):
string reportname2=StrFromReal(\\本站点\$年, 0, "f" )+StrFromReal(\\本站点\$月, 0, "f" )+".rtl";
//====================
string FileName;
//自定义变量
FileName=InfoAppDir()+"月报\"+reportname2;
long return02=InfoFile( Filename, 1,\\本站点\$分);
ShowPicture("后台月报");
HidePicture("后台月报");
//判断月报目录下是否已经有当月的报表文件了
if (return02==0)
{
FileName=InfoAppDir()+"报表\月报.rtl";
ReportLoad("Roport7",FileName);
FileName=InfoAppDir()+"月报\"+ reportname2;
Reportsaveas("Roport7",FileName);
\\本站点\日计数=0;
}
//如果当月的月报文件还没有产生则调入月报.rtl文件并按规定格式保存报表文件
FileName=InfoAppDir()+"月报\"+StrFromReal( \\本站点\$年, 0,
"f")+StrFromReal(\\本站点\$月, 0, "f" )+".rtl";
ReportLoad("Report7",FileName);
long hang;
hang= $日+5;
\\本站点\日计数=\\本站点\日计数+1;
string str;
long Value;