WINCC7.0下用户归档的查询与导出——导出篇
来源:互联网 发布:预览 mac 编辑:程序博客网 时间:2024/06/16 04:50
本文是《WINCC7.0下用户归档的查询与导出——查询篇》的补充篇。
输出时间的转换可以使用Year() Month() Day() Hour() Minute() Second()函数提取制定的时间。
本文主要介绍对温度数据的导出,与查询篇不同的是:温度数据被自动存放在了SQL Server的压缩数据库中,其查询方法有所不同;温度属于外部变量,其存储时间按照UTC世界协调时的标准,注意与北京时间的转换。
注:本文的程序中所出现的变量省去了定义。
1. 定义连接字符串
'定义连接字符串sPro = "Provider=WinCCOLEDBProvider.1;"sDsn = "Catalog=CC_11_14_07_27_16_11_36R;"sSer = "Data Source=RUIWEI1_PC\WINCC"sCon = sPro + sDsn + sSer
2. 时间转换
UTCBeginTime = DateAdd("h",-8,LocalBeginTime)UTCEndTime = DateAdd("h",-8,LocalEndTime)将本地时间转换成UTC时间,直接调用DateAdd()函数即可,注意,此处的输入时间必须使用标准格式:YYYY-MM-DD HH:MM:SS
输出时间的转换可以使用Year() Month() Day() Hour() Minute() Second()函数提取制定的时间。
3. 查询过程
1) 设置查询间隔,查询间隔是一个外部变量
Set sVal = HMIRuntime.Tags("intervaltime") sVal.Read2) 设置查询字符串
sSql = "Tag:R,('report\TEMP_W1'),'"&UTCBeginTime&"','"&UTCEndTime&"',"sSql = sSql +"'order by Timestamp ASC','TimeStep="&sVal.Value&",1'"3) 连接数据库
Set conn = CreateObject("ADODB.Connection") conn.ConnectionString = sCon conn.CursorLocation = 3 conn.Open4) 取得查询结果
Set oRs = CreateObject("ADODB.Recordset")Set oCom = CreateObject("ADODB.Command") oCom.CommandType = 1Set oCom.ActiveConnection = conn oCom.CommandText = sSql4. 打开Excel模板
需要调用Excel的接口打开模板,向其中写入数据。
Set ExcelApp = GetObject(,"Excel.Application") If TypeName(ExcleApp) = "Application" Then For Each ExcelBook In ExcelApp.WorkBooks If ExcelBook.FullName = "E:\温度模板.xls" Then ExcelApp.ActiveWorkbook.Save ExcelApp.Workbooks.Close ExcelApp.Quit Set ExcelApp= Nothing Exit For End If Next End If Set objExcelApp=CreateObject("Excel.Application") objExcelApp.Visible=FALSEobjExcelApp.Workbooks.Open"E:\温度模板.xls"objExcelApp.Worksheets(sheetname).Activate5. 写入Excel
向(x,y)的单元格中写入数据,只需要向
objExcelApp.Cells(x,y).Value赋值即可。
6. 保存并关闭
patch= "E:\打印\name.xls" '定义待保存的文件名objExcelApp.ActiveWorkbook.SaveAs patch '另存为到patch路径下objExcelApp.Workbooks.Close objExcelApp.Quit
0 0
- WINCC7.0下用户归档的查询与导出——导出篇
- WINCC7.0下用户归档的查询与导出——查询篇
- 导出用户下的数据库对象
- Oracle数据库导出命令解析——将某个用户的表导出
- Windows下的dll导出与导入
- oracle 如何导出某个用户下的所有的表
- oracle下导出某用户所有表的方法
- Oracle下导出某用户所有表的方法
- Oracle下导出某用户所有表的方法
- 分析Oracle下导出某用户所有表的方法
- 导出导入用户及其下的表格结构
- oracle下导出某用户表的方法
- ORACLE导出一个用户下的所有存储过程
- 关于Oracle导出用户下所有表的问题
- Oracle 中导出用户与导入用户
- 导出用户下所有数据库对象(不导出数据)
- oracle 用户的导入导出
- 查询结果Excel的导出
- 黑马程序员——抽象类,接口总结
- 合成和聚合的关系
- 3617 Best Cow Line【贪心】
- Android:Android2D绘图
- linux块设备列表
- WINCC7.0下用户归档的查询与导出——导出篇
- swift练习二
- 关于Linux系统的平均负载最全面介绍
- C语言及程序设计.第二十三课.项目3.两段函数求值
- 【点到线段距离】URAL - 1348 Goat in the Garden 2
- 黑马程序员——java学习笔记--正则表达式
- 快速排序
- Doctype的几种类型
- declare aa char(5) := 'b'; begin dbms_output.put_line(aa || '00'); end;