当前位置:文档之家› 组态王中的数据报表制作与保存.docx

组态王中的数据报表制作与保存.docx

组态王中的数据报表制作与保存
组态王中的数据报表制作与保存
摘要 : 本文主要介绍如果使用组态王来构建数据报表,并以EXCEL的格式在指
定的文件路径保存。

关键字 : 组态王历史库数据报表制作保存
一、引言
数据报表是反应生产过程中的数据、状态等,并对数据进行记录的一种重要形
式。

它既能反映系统实时的生产情况,也能对长期的生产过程进行统计、分析,使
管理人员能够实时掌握和分析生产情况。

组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组
态。

组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。

既可以制作实时报表,也可以制作历史报表。

组态王还支持运行
状态下单元格的输入操作,在运行状态下通过鼠标拖动改变行高、列宽。

另外,工
程人员还可以制作各种报表模板,实现多次使用,以免重复工作。

二、数据报表的制作
数据报表分为实时数据报表和历史数据报表 2 类。

报表的构建方法如下:在画面内,使用工具箱中的报表窗口按钮创建一个报表窗口,如图 1 所示。

图 1 创建后的报表窗口
用鼠标双击报表窗口的灰色部分,弹出“报表设计”对话框,该对话框主要设
置报表的名称、报表表格的行列数目以及选择套用表格的样式。

1 、制作实时数据报表
实时数据报表是实时显示相关变量的数据值,在报表窗口的单元格中直接引用
变量来实现。

在报表的单元格中直接输入“=变量名”,既可在运行时在该单元格
中显示该变量的数值,当变量的数据发生变化时,单元格中显示的数值也会被实时
刷新。

2、制作历史数据报表
历史数据报表是从组态王的历史库中查询相关变量的历史数据,并在历史数据
报表内显示,因此对历史数据报表要查询的数据必须设置历史记录属性。

在组态王中,离散型、整型和实型变量支持历史记录,字符串型变量不支持历
史记录。

组态王的历史记录形式可以分为数据变化记录、定时记录( 最小单位为 1分钟 ) 和备份记录。

记录形式的定义通过变量属性对话框中提供的选项完成。

如图2所示。

图 2记录属性设置
在查询时,希望弹出一个对话框,可以在对话框上随机选择不同的变量和时间段来查询数据,可使用函数ReportSetHistData2(StartRow,StartCol)。

该函数已经提供了方便、全面的对话框供用户操作。

但该函数会将指定时间段内查询到的所
有数据都填充到报表中来,如果报表不够大,则系统会自动增加报表行数或列数。

如果用户想要一个定时自动查询历史数据的报表,而不是弹出对话框,或者历史报表的格式是固定的,要求将查询到的数据添到固定的表格中,多余查询的数据
不需要添到表中,这时可以使用函数ReportSetHistData,ReportSetHistData3或ReportSetHistDataEx通过命令语言来实现。

使用这些函数时,用户需要指定查询
的起始时间,查询间隔,和变量数据的填充范围。

组态王报表拥有丰富而灵活的报表函数,用户可以使用报表制作一些数据存储、求和、运算、转换等特殊用法。

三、数据报表的保存
组态王的报表存储函数为:
Long nRet = ReportSaveAs(String szRptName, String szFileName)
函数功能 : 将指定报表按照所给的文件名存储到指定目录下,ReportSaveAs 支持将报表文件保存为rtl、xls、csv格式。

保存的格式取决于所保存的文件的后缀
名。

案例 : 实现以当前时间作为文件名将数据报表以xls 格式保存到指定文件夹下的操作过程如下 :
在当前工程路径下建立一文件夹: 数据文件夹。

1 、
2、在“数据报表画面”中添加一按钮,按钮文本为: 保存数据报表。

3、在按钮的弹起事件中输入如下命令语言,如图3所示:
图 3数据保存命令语言窗口
4、命令语言如下所示 :
string filename;
数据文件夹 \"+
本站点 \$ 年 , 0, "f" )+
本站点 \$ 月 , 0, "f" )+
本站点 \$ 日 , 0, "f" )+
本站点 \$ 时 , 0, "f" )+
本站点 \$ 分, 0, "f" )+
本站点 \$ 秒 , 0, "f" )+".xls";
ReportSaveAs("Report1",filename);
5、单击“确认”按钮关闭命令语言编辑框。

当系统处于运行状态时,单击此按钮数据报表将以当前时间作为文件名保存数据报表。

相关主题