深圳市泰达科技有限公司
新增产品 | 公司简介
注册时间:2008-03-29
联系人:
电话:
Email:
首页 公司简介 产品目录 公司新闻 技术文章 资料下载 成功案例 人才招聘 荣誉证书 联系我们

产品目录

三菱低压电器
三菱伺服器
三菱触摸屏
三菱变频器
三菱PLC
CIMPLICITY
Historian
Portal
IFIX
首页 >>> 技术文章 >

技术文章

iFIX_excel报表实现的方法?

iFIX_excel报表实现的方法?


Private Sub CommandButton1_Click()
    '注释:  1。该程序需要安装ADO 2.0目标库并在本机注册
    '      2。Microsoft ActiveX DataObjects 2.1 Library 必须被引用 (Office 2000)
    '      3。Microsoft Excel 9.0 objectlibraries 必须被引用 (Office 2000)
    '      4。划===处可根据具体报表修改
   
    Dim strQueryAvg As String

    Dim c As Integer
    Dim r As Integer
    Dim Intyexcel As Excel.Application
   
    Dim MyDate, MyMonth, MyDay, MyHour, MyMinute,MySecond
    Dim StartTime, EndTime, Duration, DisplayDay,DisplayMonth As String

   '++===================================================================
    '报表中的 TAG
    Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 AsString
    Dim Items As Integer
   
    Tag1 = "TEST"
    Tag2 = "TEST1"
    Tag3 = " "
    Tag4 = " "
    Tag5 = " "
    Tag6 = " "
    Tag7 = " "
    Tag8 = " "
   
    '从历史库中取得域项, 2 - DATATIME, VALUE, TAG 共三项
    Items = 2
   '--====================================================================
   
    MyDate = Now()
    MyMonth = Month(MyDate)
    MyDay = Day(MyDate)
    MyHour = Hour(MyDate)
    MyMinute = Minute(MyDate)
    MySecond = Second(MyDate)
   
    StartTime = "2000" & "-" & MyMonth & "-"& MyDay - 1 & " " & "00:00:00"
    EndTime = "2000" & "-" & MyMonth & "-"& MyDay - 1 & " " & "23:00:00"

   '++==========================================================================
    '查询,根据报表修改
    strQueryAvg = "Select DATETIME, VALUE, TAG FROM FIX "& _
        "WHERE MODE = 'AVERAGE' and (TAG='"& Tag1 & "' or TAG='" & Tag2 & "'" & _
        " or TAG='" & Tag3 & "' orTAG='" & Tag4 & "' or TAG='" & Tag5 & "'" &_
        " or TAG='" & Tag6 & "' orTAG='" & Tag7 & "' or TAG='" & Tag8 & "')" &_
        "and INTERVAL = '01:00:00' and " &_
        "(DATETIME >= {ts '" & StartTime& "'} and " & _
        "DATETIME <= {ts '" & EndTime& "'})"
   '--===========================================================================
   
   
    Dim cnADO As New ADODB.Connection
    Dim rsADO As Recordset
   
    Set cnADO = New ADODB.Connection
    cnADO.ConnectionString = "DSN = FIX DynamicsHistorical Data; UID = sa; PWD = ;"
    cnADO.Open "FIX Dynamics Historical Data", "sa",""

    Set rsADO = New ADODB.Recordset

    rsADO.Open strQueryAvg, cnADO, adOpenForwardOnly,adLockBatchOptimistic
    '''如果执行上面的语句出错的话,则*大的可能性就是SQL语句有错误!
    r = 1
    Set Intyexcel = New Excel.Application
    Intyexcel.Visible = False
   
   
   
   '++============================================================================
    '打开的报表文件名
    Dim OutReportFile As String
    Dim InReportFile As String
   
    InReportFile = "C:\Dynamics\App\HIST1"
   
    Intyexcel.Workbooks.Open InReportFile &".XLS"
     
    Intyexcel.Sheets("Sheet2").Select
    Intyexcel.Columns("A:Z").Select
    Intyexcel.Selection.ClearContents
    Intyexcel.Range("A1").Select

    While rsADO.EOF <> True
        With Intyexcel.Worksheets(2)
            For c = 0 To Items
                If rsADO(c)<> "" Then .Cells(r, c + 1).Value = rsADO(c)
            Next c
            r = r + 1
            rsADO.MoveNext
        End With
    Wend
   
    Intyexcel.Sheets("Sheet1").Select

'    Intyexcel.ActiveSheet.PageSetup.Orientation =xlPortrait      'xlLandscape
'    Intyexcel.ActiveSheet.PageSetup.PaperSize =xlPaperA4
    Intyexcel.ActiveSheet.PrintOut
    Intyexcel.DisplayAlerts = False
    Intyexcel.ActiveWorkbook.Save
    OutReportFile = InReportFile & "_00" &MyMonth & MyDay
    Intyexcel.ActiveWorkbook.SaveAs OutReportFile
   
    Intyexcel.Quit
    Intyexcel.DisplayAlerts = True
    Set Intyexcel = Nothing
    Set cnADO = Nothing

End Sub
上一篇:暂无
下一篇:IFIX与EXCEL的连接
            
若网站内容侵犯到您的权益,请通过网站上的联系方式及时联系我们修改或删除