如何实现将设定时间段的数据输出到一个EXCEL表中? 点击:1387 | 回复:2



ShowFine

    
  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-06-28 09:55:00
楼主
我想在组态软件上设置两个输入框,分别对应起始时间和结束时间,然后按确认按扭,那么系统会将这个时间段内某一个组对象的存盘数据复制到一个指定的EXCEL表中保存, 该如何操作? 


楼主最近还看过



jkgong

  • 精华:1帖
  • 求助:0帖
  • 帖子:15帖 | 18回
  • 年度积分:0
  • 历史总积分:81
  • 注册:2004年7月26日
发表于:2007-06-28 14:03:00
1楼
我使用FameView组态软件中的VBScript脚本,实现的:
 '打开数据库及数据表demo,dt为时间字段
   UserDB.OpenConnect "FameView UserData Source","","" 
   UserDB.SetFilter "dt>='"+StartTime+"' And dt<'"+EndTime+"'"
   UserDB.OpenRecordset "demo",2,2,2  '打开记录集;
   
   '检查查询内容是否为空
   If UserDB.IsEmpty()=0 Then
      '打开Excel文件
      Set ExcelObj = CreateObject("Excel.Application")
      ExcelObj.Visible = True
      ExcelFile = "C:\组态系统\ExcelFile\test.xls"
      Intyexcel.Workbooks.Open ExcelFile
      ExcelObj.Sheets("Sheet1").Select
      ExcelObj.Worksheets(1).Select
      ExcelObj.Cells(1,3) = NOW_DATE
      '导出记录到Excel中
      row=2
      While UserDB.IsEOF()=0 
         ExcelObj.Cells(row,1).Value=UserDB.GetFieldValue("dt",8) 
         ExcelObj.Cells(row,2).Value=UserDB.GetFieldValue("f1",4)
         ExcelObj.Cells(row,3).Value=UserDB.GetFieldValue("f2",4)
         row=row+1    
         UserDB.MoveNext 
Wend
ExcelObj.ActiveWorkbook.SaveAs "C:\组态系统\ExcelFile\"&NOW_DATE&".xls"
      ExcelObj.Quit
      Set ExcelObj=Nothing
   End If
   '关闭数据库
   UserDB.CloseRecordset 
   UserDB.CloseConnect
End If

ShowFine

  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-06-28 14:46:00
2楼
e...
真不好意思,忘说了,我是用MCGS

热门招聘
相关主题

官方公众号

智造工程师