IFIX与EXCEL的连接

合集下载

Excel中的数据连接和外部数据源的使用

Excel中的数据连接和外部数据源的使用

Excel中的数据连接和外部数据源的使用在Excel中,数据连接和外部数据源的使用是非常重要的功能。

它们可以帮助我们更好地管理和分析数据,提高工作效率。

本文将介绍Excel中数据连接和外部数据源的基本概念、使用方法以及相关注意事项。

一、数据连接的概念和使用方法数据连接是指将单个或多个Excel工作簿中的数据连接到另一个工作簿或外部数据源的过程。

它可以实现数据的实时更新和共享。

下面以连接两个Excel工作簿为例,介绍数据连接的使用方法。

首先,打开Excel软件,创建一个新的工作簿。

在新的工作簿中,点击“数据”选项卡,然后选择“从其他来源”→“从Excel获取数据”。

接下来,选择需要连接的源工作簿,然后点击“打开”按钮。

在打开的对话框中,选择要导入的数据表格,并点击“确定”。

在导入的数据表格中,我们可以选择哪些列是需要导入的,以及导入到哪个位置。

在完成选择后,点击“确定”按钮即可完成数据连接。

二、外部数据源的概念和使用方法外部数据源是指Excel中连接到的非Excel文件,如数据库、Web 数据、文本文件等。

通过连接外部数据源,我们可以直接在Excel中操作这些数据,无需手动导入或复制。

下面以连接数据库为例,介绍外部数据源的使用方法。

首先,打开Excel软件,创建一个新的工作簿。

在新建的工作簿中,点击“数据”选项卡,然后选择“从其他来源”→“从SQL Server获取数据”。

接下来,输入数据库的服务器名称和登录信息,然后点击“下一步”。

在下一步中,选择需要连接的数据库和表格,并点击“下一步”。

在下一个界面中,我们可以选择如何导入数据,比如直接导入到工作表,或者将数据连接导入到数据模型中。

完成选择后,点击“完成”按钮即可连接到数据库。

三、数据连接和外部数据源的注意事项在使用数据连接和外部数据源时,需要注意以下几点。

首先,确保源数据的格式对于Excel来说是可识别的。

不同格式的数据需要使用不同的连接方式,比如文本文件可以使用文本导入向导,数据库需要使用特定的连接方式。

EXCEL在IFIX软件的报表实现

EXCEL在IFIX软件的报表实现
巩 伟 , 勇江 宋
( 黑龙江省 科学 院 自动化研究所 , 黑龙江 哈 尔滨 1 0 9 ) 0 0 5
摘 要 : 文 介 绍 了一 种 将 办 公软 件 E E 本 XC L与 I I 实 现 数 据 报 表 的 方 法 , 用 E E FX 利 XC L和 I I 软 件 对 OL FX E的 支持 , 结 合 VB 脚 并 A 本语 言 , 活 的扩 展 了 I I 报 表 功 能 , 在 工 业 生 产 重 要 的抄 表 工 作提 供 了一 个 思 路 。 灵 F X的 为 关键 字 : I VB E E 报 表 I X; A; XC L; F 中 图分 类 号 : P l .2 T 3 15 文 献 标 识 码 : B 文章 编号 :0 3 2 12 1)6 0 8 0 10 7 4 (0 10 0 8 — 3
2 解 决 思 路
O E D /D C L B O B 数据 源
了报表 的功 能 , 里采取 的是时 时采集数 据并且保 存到 这
报表 的方法 , 报表生成代码 已经集成在 ii f x系统 内, 这样 建立 了与数据无 关的操作 , 代码会 随 I I F X启动运 行 , 报 表生成不受限制。E cl V A 同时支持 , x e对 B 利用 E cl x e 功
F X 数据 库 I
的 , 们具 有相 似 的语 言结 构 。它 保 留了绝 大部分 VB 它 的功 能 , 使可编程应 用软件得到完美 的实 现 , 它作为一种
图 1 VB A对象关 系
收 稿 日期 : 11 0 —2 20 — 2 8
Hale Waihona Puke 通用 的宏语 言可被 所有的 Mir s f c o ot可编程应用软件所 共享 。为 自定 义功 能提供 了完整 开发环 境 。经过 优化 ,

写IFIX实时数据到Excel

写IFIX实时数据到Excel

写IFIX实时数据到ExcelDescription 描述Inserting FIX Dynamics data into an Excel worksheet.把FIX数据写入EXCEL工作表ResolutionThe following procedure will enable you to insert FIX Dynamics data into an Excel worksheet: 下面的程序可以让你把FIX数据写到EXCEL工作表中' Declare necessary API routines: 定义必要的APIPrivate Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Long) As LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongSub DetectExcel()' Procedure dectects a running Excel and registers it.生成运行一EXCEL工作表并保存之Const WM_USER = 1024Dim hwnd As Long' If Excel is running this API call returns its handle.如果Excel运行这个API调用返回其句柄,hwnd = FindWindow("XLMAIN", 0)If hwnd = 0 Then ' 0 means Excel not running.0表示EXCEL没有运行Exit SubElse' Excel is running so use the SendMessage API function to enter it in the Running Object Table. EXCEL运行就用API的SendMessage功能发送到运行的工作表中SendMessage hwnd, WM_USER + 18, 0, 0End IfEnd SubPrivate Sub CommandButton2_Click()Dim msexcel As Excel.ApplicationSet msexcel = CreateObject("Excel.Application")With msexcel.Visible = True.Workbooks.Open "d:\fix32\Test1.xls", , FalseEnd WithEnd SubPrivate Sub CommandButton3_Click()Dim MyXL As Object ' Variable to hold reference to Microsoft Excel.Dim ExcelWasNotRunning As Boolean ' Flag for final release.' Test to see if there is a copy of Microsoft Excel already running.On Error Resume Next ' Defer error trapping.' Getobject function called without the first argument returns a reference to an instance of the application. If the application isn't running, an error occurs. Note the comma used as the first argument placeholder.Set MyXL = GetObject(, "Excel.Application")If Err.Number <> 0 Then ExcelWasNotRunning = TrueErr.Clear ' Clear Err object in case error occurred.' Check for Excel. If Excel is running,enter it into the Running Object table.DetectExcel'Set the object variable to reference the file you want to see.Set MyXL = GetObject("d:\fix32\test1.XLS")' Show Microsoft Excel through its Application property. Then show the actual window containing the file using the Windows collection of the MyXL object reference.MyXL.Application.Visible = TrueMyXL.Parent.Windows(1).Visible = True' Do manipulations of your file here.With MyXL.Application.ActiveWorkbook.ActiveSheet.Select.Goto reference:=.Range("D4").Selection = Fix32.Johnski2.AI1.F_CVEnd With' If this copy of Microsoft Excel was not already running when you started, close it using the Application property's Quit method. Note that when you try to quit Microsoft Excel, the Microsoft Excel title bar blinks and Microsoft Excel displays a message asking if you want to save any loaded files.If ExcelWasNotRunning = True ThenMyXL.Application.QuitEnd IfSet MyXL = Nothing ' Release reference to the application and spreadsheet.End Sub。

iFIX图文教程 20200325

iFIX图文教程 20200325

iFIX图文教程版本V0.01更新时间:2020年3月26日目录前言 (4)几点说明 (5)本教程软件需求 (5)软件对系统要求 (5)软件限制的说明 (5)软件原理说明 (5)软件安装 (6)iFIX安装 (6)IGS驱动安装 (12)Historian数据库安装 (18)一个简单的入门示例 (23)准备工作 (23)VSPD虚拟串口安装 (23)Modbus从站模拟软件安装 (26)Modbus从站模拟软件安装(2) (28)搭建下位机测试 (29)建立通讯 (35)添加标签 (51)创建画面 (59)系统运行 (64)iFIX与S7200的通讯 (65)S7200程序 (65)iFIX程序 (66)iFIX与TwinCAT2通讯 (73)iFIX创建新的项目 (78)过程数据库(PDB数据库) (88)过程数据库的数据类型(未完成) (92)语言切换 (92)标签组 (98)定时器控件 (105)VisiconX控件的使用 (107)vxData对象 (107)VBA 数据类型 (118)VBA 过程 (118)VBA 类与实例 (119)创建类 (119)创建实例 (124)Application的事件 (128)VBA 单链表 (130)使用Excel获取Historian中的数据 (136)VB数据结构(仅供参考,非完整实现) (139)一个特殊的类 (139)单向链表 (140)树形结构 (141)具体问题解答 (141)iFIX访问其它页面的控件? (141)修改磁盘空间需求保证iFIX稳定 (142)退出iFIX系统代码 (142)iFIX颜色设定 (142)曲线的显示与隐藏 (144)时间获取,精确到毫秒 (145)SQLServer数据库读写 (146)VB防止添加重复项到列表中 (147)Like用法 (147)修改磁盘空间需求保证iFIX稳定 (148)frm界面访问grf界面中的变量和对象 (148)获取用户名和组名的方法(调度的后台执行) (151)获取用户名和组名的方法(属性) (152)参考 (154)教程更新 (154)前言最近在编写软件设计文档,我们使用的是iFIX,iFIX的优势应该是扩展性最好,主要是因为它采用了微软的VBA脚本,同时也带来一些问题,如不容易上手和掌握,另外与之配套的教程也特别少,使用的过程中遇到了一些麻烦,做了一些总结,把这些总结整理了一下,希望能让更多的人入门。

有关iFIX软件报表生成的说明

有关iFIX软件报表生成的说明

有关iFIX软件报表生成的说明 iFIX软件可以通过内置的VBA借助EXCEL,ACCESS,Crystal Roport等软件生成报表。

本文通过 VBA+ADO+EXCEL 做一个具体的介绍。

1.V BA(Visual Basic for Application)VBA是iFIX完全内置的一个强有力的编程工具,可以使用户快速方便的生成自动的操作任务和过程自动化的解决方案。

IFIX的VBA工具包括以下特性:可操作所有列出的iFIX对象的属性,方法和事件支持多种数据源,包括iFIX过程数据库,任何OPC服务器,任何对象的属性和SQL数据库ODBC支持ActiveX控件支持VBA脚本生成向导及IFIX命令可以帮助你为常用任务自动生成程序代码第三方控件的安全容器下面的程序代码就是在iFIX中建立一个新的EXCEL应用程序并打开报表模版。

Dim msexcel As Excel.ApplicationSet msexcel = CreateObject("Excel.Application")With msexcel.Visible = True.Workbooks.Open "e:\histdemo\FixReports.xls", ,False.ActiveWorkbook.ActiveSheet.Select.DisplayAlerts = False.Wait (Now() + 0.00002)End With2.A DO (ActiveX Data Object)ADO 是微软推出的最新的数据库访问方式。

它综合了微软早期推出的DAO及RDO的特性并取代了DAO及RDO。

ADO可以访问更多类型的数据库,并且可以通过ODBC(Open DataBase Connectivity)访问数据,但它的结构是建立在OLE DB Providers上。

IFIX软件安装完毕以后,在控制面板的ODBC数据源中会增加两个系统DSN:FIX Dynamics Historical Data iFIX历史数据源FIX Dynamics Real Time Data iFIX实时数据源ADO可以通过访问这两个数据源来直接操作iFIX历史数据库和实时数据库。

iFIX使用脚本生成EXCEL报表

iFIX使用脚本生成EXCEL报表

作者: lostCity 复制收藏iFIX使用脚本生成EXCEL报表2006-07-23重新修改过的报表脚本注意中文单引号要换成英文的(因为网页支持有问题,故替换处理)附录文件为时间调度报表代码:下载附件另存为.rar文件‘注释: 1。

该程序需要安装ADO 2.0目标库并在本机注册‘2。

Microsoft ActiveX Data Objects 2.1 Library 必须被引用(Office 2000)‘3。

Microsoft Excel 9.0 object libraries 必须被引用(Office 2000)‘4。

划===处可根据具体报表修改Dim strQueryAvg As StringDim c As IntegerDim r As IntegerDim Intyexcel As Excel.ApplicationDim MyDate, MyMonth, MyDay, MyHour, MyMinute, MySecondDim StartTime, EndTime, Duration, DisplayDay, DisplayMonth As String‘++===================================================================‘报表中的TAGDim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 As StringDim Items As IntegerTag1 = "LV001"Tag2 = " "Tag3 = " "Tag4 = " "Tag5 = " "Tag6 = " "Tag7 = " "Tag8 = " "‘从历史库中取得域项,2 - DATA TIME, V ALUE, TAG 共三项Items = 2‘--====================================================================MyDate = Now()MyYear = Year(MyDate)MyMonth = Month(MyDate)MyDay = Day(MyDate)MyHour = Hour(MyDate)MyMinute = Minute(MyDate)MySecond = Second(MyDate)‘修改by lostcity 2006-7-23 2:17‘注释部分为前一天数据‘StartTime = MyYear & "-" & MyMonth & "-" & MyDay - 1 & " " & "00:00:00"‘EndTime = MyYear & "-" & MyMonth & "-" & MyDay - 1 & " " & "23:00:00"‘当天00:00:00至当前时间的数据StartTime = Format(MyDate, "yyyy-mm-dd") & " 00:00:00"EndTime = Format(MyDate, "yyyy-mm-dd hh:MM:ss")‘++=================================================================== =======‘查询,根据报表修改‘"WHERE MODE = ‘A VERAGE‘ and (TAG=‘" & Tag1 & "‘ or TAG=‘" & Tag2 & "‘" & _‘" or TAG=‘" & Tag3 & "‘ or TAG=‘" & Tag4 & "‘ or TAG=‘" & Tag5 & "‘" & _‘" or TAG=‘" & Tag6 & "‘ or TAG=‘" & Tag7 & "‘ or TAG=‘" & Tag8 & "‘)" & _‘"and INTERV AL = ‘01:00:00‘ and " & _‘"(DATETIME >= {ts ‘" & StartTime & "‘} and " & _‘"DATETIME <= {ts ‘" & EndTime & "‘})"strQueryAvg = "Select DA TETIME, V ALUE, TAG FROM FIX " & _"WHERE MODE = ‘A VERAGE‘ and (TAG=‘" & Tag1 & "‘ or TAG=‘" & Tag2 & "‘" & _" or TAG=‘" & Tag3 & "‘ or TAG=‘" & Tag4 & "‘ or TAG=‘" & Tag5 & "‘" & _" or TAG=‘"& Tag6 & "‘ or TAG=‘" & Tag7 & "‘ or TAG=‘" & Tag8 & "‘) " & _"and INTERV AL = ‘00:01:00‘ and " & _"(DATETIME >= {ts ‘" & StartTime & "‘} and " & _"DATETIME <= {ts ‘" & EndTime & "‘})"‘--==================================================================== =======Dim cnADO As New ADODB.ConnectionDim rsADO As RecordsetSet cnADO = New ADODB.ConnectioncnADO.ConnectionString = "DSN = FIX Dynamics Historical Data; UID = ; PWD = ;"cnADO.Open "FIX Dynamics Historical Data", "", ""Set rsADO = New ADODB.RecordsetrsADO.Open strQueryAvg, cnADO, adOpenForwardOnly, adLockBatchOptimisticr = 1Set Intyexcel = New Excel.ApplicationIntyexcel.Visible = True‘++=================================================================== =========‘打开的报表文件名Dim OutReportFile As StringDim InReportFile As StringInReportFile = "C:HIST1"Intyexcel.Workbooks.Open InReportFile & ".XLS"Intyexcel.Sheets("Sheet1").SelectIntyexcel.Columns("A:Z").SelectIntyexcel.Selection.ClearContentsIntyexcel.Range("A1").SelectWhile rsADO.EOF <> TrueWith Intyexcel.Worksheets(1)For c = 0 To ItemsIf rsADO(c) <> "" Then .Cells(r, c + 1).Value = rsADO(c)Next cr = r + 1rsADO.MoveNextEnd WithWendIntyexcel.Sheets("Sheet1").Select‘Intyexcel.ActiveSheet.PageSetup.Orientation = xlPortrai t ‘xlLandscape‘Intyexcel.ActiveSheet.PageSetup.PaperSize = xlPaperA4Intyexcel.ActiveSheet.PrintOutIntyexcel.DisplayAlerts = FalseIntyexcel.ActiveWorkbook.SaveOutReportFile = InReportFile & "_00" & MyMonth & MyDayIntyexcel.ActiveWorkbook.SaveAs OutReportFileIntyexcel.QuitIntyexcel.DisplayAlerts = TrueSet Intyexcel = NothingSet cnADO = Nothing文章来自: 博客浙江()原文参考:/d-45684.html。

excel实现ifix数据查询的方法

excel实现ifix数据查询的方法

2019.08摘There are many ways to realize the iFIX report This paper takes the combination of Excel and iFIX local da tabase as an example to illustrate the realization of the method It extracts data from iFIX through VBA script presents the da ta orderly in Excel table and achieves the purpose of report function Key words iFIX 方法namics Historical Data FIX Dynamics Real Time Da ”。

Real Time 方法通过脚本将数据存储到外部数据库),tion iFIX Inte gration Toolkit (。

(。

(。

(。

(。

(。

(Private Sub CommandButton1_Click ()Dim path As String *64Const tagnum =16path ="D:\XXXX\HTRDATA"TagNum1=tagnum \8TagNum2=tagnum Mod 8NTFTAG (0)="THISNODE"+":"+"TAG1"+"."+"F_CV"NTFTAG (1)="THISNODE"+":"+"TAG2"+"."+"F_CV"…NTFTAG (n-1)="THISNODE"+":"+"TAGn"+"."+"F_CV"sdate =Trim (InputBox ("输入报表时间:YYYY-MM-DD","选择时间",Date ))If sdate>""Then If IsDate (sdate )ThenSheet1.Range (Cells (4,1),Cells (2000,tag⁃num +1))=""Sheet1.Range (Cells (4,1),Cells (2000,tag⁃num +1)).Borders.LineStyle =xlNone Sheet1.Cells (1,1)=Format (sdate,"yyyy 年mm 月dd 日运行记录")For num =0To TagNum1If num =TagNum1Then kkkk =TagNum2-1Else kkkk =7End IfFor k =0To kkkk ntf =NTFTAG (num *8+k )Next kFor k =0To kkkk ReDim values (NumSamples )ReDim times (NumSamples )ReDim Stats (NumSamples )ReDim alarms (NumSamples )For i =0To NumSamples -1Sheet1.Cells (i +4,1)=SecondsToTime$(times (i ))If Stats (i )=0ThenSheet1.Cells (i +4,num *8+k +2)=values (i )ElseSheet1.Cells (i +4,num *8+k +2)=""End If Next i Next k Next num ·Sheet1.Range (Cells (4,1),Cells (3+NumSam⁃ples,tagnum +1)).Borders.LineStyle =1ElseMsgBox "错误的日期!"End If End If End Sub(下转第290页)2882019.08们表达自己的看法和感受到他人的想法;(;(3多中心理论应用到公共环境治理中在强调不同社会群体的多中心参与的同时如果说公地悲剧的产生是源于公共池塘资源的不可排他库iFIX 参考文献Proficy HMI/SCADA -iFIX GE Intelligent Plat [3]《iFIX 数据库参考书》,GE Intelligent Platforms ,Inc ,2013.(上接第288页)290。

iFix如何制作EXCEL报表

iFix如何制作EXCEL报表

iFix如何制作EXCEL报表在VBA中引用Microsoft Excel 11.0 Object Library和Microsoft ADO 6.0 Library。

在画面中添加个按钮。

复制以下代码:‘----------开始复制(不包括此行)--------------[hide]Option ExplicitDim rsADO As ADODB.RecordsetDim cnADO As ADODB.ConnectionPrivate Sub Command1_Click()Dim StrDir As StringStrDir = "E:\"Dim i As LongDim Sql As StringSql = "SELECT * FROM THISNODE"Set cnADO = New ADODB.ConnectionSet rsADO = New ADODB.RecordsetcnADO.ConnectionString = "Provider = Microsoft OLE DB Provider for ODBC Driv ers;DSN=FIX Dynamics Real Time Data;UID=;PWD="cnADO.OpenrsADO.CursorLocation = adUseClientrsADO.Open Sql, cnADO, adOpenDynamic, adLockUnspecified, -1If rsADO.RecordCount <= 0 ThenMsgBox "无数据!", vbOKOnly + vbInformation, "信息..."Set cnADO = NothingSet rsADO = NothingExit SubEnd IfDim xlApp As ObjectDim xlBook As ObjectDim xlSheet As ObjectSet xlApp = New Excel.ApplicationxlApp.DisplayAlerts = FalsexlApp.Visible = FalseSet xlBook = xlApp.Workbooks.Open(StrDir & "\报表.xls")'需要文件(E:\报表.xls)Set xlSheet = xlBook.Worksheets(1)For i = 1 To rsADO.RecordCountxlSheet.Cells(i, 1) = rsADO.Fields(1).Value & ""xlSheet.Cells(i, 2) = rsADO.Fields(2).Value & ""xlSheet.Cells(i, 3) = rsADO.Fields(3).Value & ""xlSheet.Cells(i, 4) = rsADO.Fields(4).Value & ""Next ixlApp.Visible = TruexlApp.DisplayAlerts = FalseSet xlSheet = NothingSet xlBook = NothingSet xlApp = NothingSet cnADO = NothingSet rsADO = NothingEnd Sub[/hide]‘----------结束复制(不包括次行)--------------注意:1.iFix历史数据库只支持读90天的数据,在SQL语句中限定时间即可。

excel数据连接使用方法

excel数据连接使用方法

excel数据连接使用方法Excel数据连接使用方法在日常工作和生活中,我们经常需要处理和分析各种数据。

而Excel作为一款功能强大的电子表格软件,提供了丰富的数据处理和分析功能,其中数据连接是一项非常重要的功能。

本文将介绍Excel数据连接的使用方法,帮助读者更好地利用这一功能进行数据处理和分析。

一、数据连接的概念和作用数据连接是指将Excel与外部数据源进行关联,实现数据的导入、导出和更新。

通过数据连接,我们可以将外部数据源(如数据库、文本文件、Web服务等)中的数据导入到Excel中,进行数据分析和报表制作;同时,也可以将Excel中的数据导出到外部数据源,实现数据的共享和更新。

数据连接的作用主要体现在以下几个方面:1. 数据导入:将外部数据源中的数据导入到Excel,方便进行数据分析和报表制作。

2. 数据更新:通过数据连接,可以实现对外部数据源中的数据进行更新,保证Excel中的数据与外部数据源保持同步。

3. 数据共享:将Excel中的数据导出到外部数据源,实现数据的共享和协作。

4. 数据筛选:通过数据连接,可以对外部数据源进行筛选和过滤,按需导入所需数据。

5. 数据处理:利用Excel强大的数据处理功能,对导入的数据进行清洗、转换和计算。

二、数据连接的使用方法在Excel中,数据连接的使用主要包括以下几个步骤:1. 打开Excel软件,点击“数据”选项卡,在“获取外部数据”区域选择“来自其他源”。

2. 在弹出的“导入数据”对话框中,选择“从数据连接向导获取数据”。

3. 在“数据连接向导”中,选择“其他/高级”选项,点击“下一步”。

4. 在“选择数据源”中,根据具体的数据源类型进行选择。

例如,如果是数据库数据源,选择“OLE DB”;如果是文本文件数据源,选择“文本文件”。

5. 在“连接属性”中,填写或选择具体的连接信息,如服务器地址、用户名、密码等。

根据具体的数据源类型和要求,填写相应的信息。

“Excel表格链接:在不同工作表之间建立链接”

“Excel表格链接:在不同工作表之间建立链接”

“Excel表格链接:在不同工作表之间建立链接”在日常的办公工作中,有效的数据管理能够大大提升工作效率。

Excel作为一款功能强大的电子表格软件,提供了丰富的工具和技巧来帮助用户更好地组织和分析数据。

其中,建立工作表之间的链接是一项非常实用的功能,能够让不同工作表的数据相互连接,提高数据的可操作性和可读性。

本文将详细说明如何在Excel中实现这种链接,并提供一些实用的技巧和注意事项。

理解工作表之间的链接在Excel中,工作表之间的链接是指不同工作表的数据通过某种方式相互引用。

这种连接不仅方便用户实时查看相关数据,还能在更新一个工作表时自动反映到其他工作表中。

例如,假设您有一个“销售数据”工作表和一个“汇总”工作表,在“汇总”表中想要显示“销售数据”表中特定产品的销售额,这就需要通过链接来实现。

使用公式建立链接在Excel中,最常见的建立链接的方式是使用公式。

下面是一些常用的公式示例。

引用单元格您可以直接引用另一个工作表中的单元格。

假设“销售数据”工作表的A1单元格包含某项数据,您想在“汇总”表中的B1单元格显示这个数据,可以在B1单元格中输入如下公式:='销售数据'!A1这里,单引号是用来确保工作表名称的完整性,尤其是当名称中包含空格时。

使用SUM函数如果您需要合计不同工作表中的数据,可以使用SUM函数。

例如,想要把“销售数据”工作表的A1到A10单元格的数据在“汇总”表中进行求和,可以使用下面的公式:=SUM('销售数据'!A1:A10)这样,您将获得“销售数据”中A1到A10的总和,并且任何时候只需更新“销售数据”工作表,结果会自动更新。

创建动态链接除了直接引用外,有时我们需要建立更复杂的动态链接,尤其是在涉及多个工作表时。

使用数据透视表和命名范围可以让链接更具灵活性。

数据透视表数据透视表可以汇总大量数据,方便分析。

您可以在一个工作表中创建数据透视表,并通过链接动态获取源数据。

Excel的个数据连接技巧让你的数据集成更加便捷

Excel的个数据连接技巧让你的数据集成更加便捷

Excel的个数据连接技巧让你的数据集成更加便捷数据在现代社会中扮演着至关重要的角色,而Excel作为常用的数据处理工具,其数据连接功能可以帮助我们更加便捷地进行数据集成和分析。

本文将介绍一些Excel中的数据连接技巧,帮助你提高工作效率。

一、使用Excel的内部数据连接功能Excel提供了内部数据连接功能,可以将不同工作表或者不同文件中的数据进行连接,方便我们进行数据汇总和分析。

具体操作如下:1. 打开一个工作表,在需要进行数据连接的位置选择一个单元格。

2. 在Excel的菜单栏中选择“数据”选项卡,然后点击“来自其他源”中的“从工作表”或者“从文本”选项,根据实际需求选择合适的选项。

3. 根据选择的选项,Excel会弹出相应的对话框,你可以选择需要连接的工作表或者文件,并指定连接方式和需要导入的数据范围。

4. 点击“确定”按钮后,Excel会将选择的数据连接到当前工作表中的指定单元格,你可以根据需要进行数据格式调整和分析。

二、利用Excel的外部数据连接功能除了内部数据连接,Excel还提供了外部数据连接功能,可以连接到外部数据库、Web数据源以及其他文件等。

具体操作如下:1. 打开一个工作表,在需要进行数据连接的位置选择一个单元格。

2. 在Excel的菜单栏中选择“数据”选项卡,然后点击“来自其他源”中的“从SQL Server”、“从Access”、“从Web”等选项,根据实际需求选择合适的选项。

3. 根据选择的选项,Excel会弹出相应的对话框,你可以输入连接字符串、服务器名称、数据库名称等信息,然后点击“确定”按钮。

4. Excel会连接到指定的外部数据源,并在当前工作表中显示连接后的数据,你可以按照需要进行数据处理和分析。

三、使用Excel的数据透视表功能进行数据连接除了以上提到的数据连接功能,Excel还提供了数据透视表功能,可以帮助我们更加灵活地进行数据连接和分析。

具体操作如下:1. 打开一个包含数据的工作表,在菜单栏中选择“插入”选项卡,然后点击“数据透视表”按钮。

写IFIX实时数据到Excel

写IFIX实时数据到Excel

写IFIX实时数据到ExcelDescriptionInserting FIX Dynamics data into an Excel worksheet.ResolutionThe following procedure will enable you to insert FIX Dynamics data into an Excel worksheet:' Declare necessary API routines:Private Declare Function FindWindow Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName As String, _ByVal lpWindowName As Long) As LongPrivate Declare Function SendMessage Lib "user32" Alias _ "SendMessageA" (ByVal hwnd As Long, _ByVal wMsg As Long, _ByVal wParam As Long, _lParam As Any) As LongSub DetectExcel()' Procedure dectects a running Excel and registers it.Const WM_USER = 1024Dim hwnd As Long' If Excel is running this API call returns its handle.hwnd = FindWindow("XLMAIN", 0)If hwnd = 0 Then ' 0 means Excel not running.Exit SubElse' Excel is running so use the SendMessage API' function to enter it in the Running Object Table.SendMessage hwnd, WM_USER + 18, 0, 0End IfEnd SubPrivate Sub CommandButton2_Click()Dim msexcel As Excel.ApplicationSet msexcel = CreateObject("Excel.Application")With msexcel.Visible = True.Workbooks.Open "d:\fix32\Test1.xls", , FalseEnd WithEnd SubPrivate Sub CommandButton3_Click()Dim MyXL As Object ' Variable to hold reference to Microsoft Excel. Dim ExcelWasNotRunning As Boolean ' Flag for final release.' Test to see if there is a copy of Microsoft Excel already running. On Error Resume Next ' Defer error trapping.' Getobject function called without the first argument returns a' reference to an instance of the application. If the application isn't ' running, an error occurs. Note the comma used as the first argument ' placeholder.Set MyXL = GetObject(, "Excel.Application")If Err.Number <> 0 Then ExcelWasNotRunning = TrueErr.Clear ' Clear Err object in case error occurred.' Check for Excel. If Excel is running,' enter it into the Running Object table.DetectExcel'Set the object variable to reference the file you want to see.Set MyXL = GetObject("d:\fix32\test1.XLS")' Show Microsoft Excel through its Application property. Then' show the actual window containing the file using the Windows' collection of the MyXL object reference.MyXL.Application.Visible = TrueMyXL.Parent.Windows(1).Visible = True' Do manipulations of your file here.With MyXL.Application.ActiveWorkbook.ActiveSheet.Select.Goto reference:=.Range("D4").Selection = Fix32.Johnski2.AI1.F_CVEnd With' If this copy of Microsoft Excel was not already running when you' started, close it using the Application property's Quit method.' Note that when you try to quit Microsoft Excel, the Microsoft Excel ' title bar blinks and Microsoft Excel displays a message asking if you ' want to save any loaded files.If ExcelWasNotRunning = True ThenMyXL.Application.QuitEnd IfSet MyXL = Nothing ' Release reference to the application and spreadsheet. End Sub在IFIX中如何显示用户信息在FIX32产品中,FIX内含一系列系统变量,存储当前系统信息,包括当前用户的注册信息,如#GS_。

iFix中如何实现EXCEL报表

iFix中如何实现EXCEL报表

iFix中如何实现EXCEL报表.txt心脏是一座有两间卧室的房子,一间住着痛苦,一间住着快乐。

人不能笑得太响,否则会吵醒隔壁的痛苦。

iFix中如何实现EXCEL报表在VBA中引用Microsoft Excel 11.0 Object Library和Microsoft ADO 6.0 Library。

在画面中添加个按钮。

复制以下代码:‘----------开始复制(不包括此行)--------------Option ExplicitDim rsADO As ADODB.RecordsetDim cnADO As ADODB.ConnectionPrivate Sub Command1_Click()Dim StrDir As StringStrDir = "E:\"Dim i As LongDim Sql As StringSql = "SELECT * FROM THISNODE"Set cnADO = New ADODB.ConnectionSet rsADO = New ADODB.RecordsetcnADO.CcnADO.OpenrsADO.CursorLocation = adUseClientrsADO.Open Sql, cnADO, adOpenDynamic, adLockUnspecified, -1If rsADO.RecordCount <= 0 ThenMsgBox "无数据!", vbOKOnly + vbInformation, "信息..."Set cnADO = NothingSet rsADO = NothingExit SubEnd IfDim xlApp As ObjectDim xlBook As ObjectDim xlSheet As ObjectSet xlApp = New Excel.ApplicationxlApp.DisplayAlerts = FalsexlApp.Visible = FalseSet xlBook = xlApp.Workbooks.Open(StrDir & "\报表.xls")'需要文件(E:\报表.xls) Set xlSheet = xlBook.Worksheets(1)For i = 1 To rsADO.RecordCountxlSheet.Cells(i, 1) = rsADO.Fields(1).Value & ""xlSheet.Cells(i, 2) = rsADO.Fields(2).Value & ""xlSheet.Cells(i, 3) = rsADO.Fields(3).Value & ""xlSheet.Cells(i, 4) = rsADO.Fields(4).Value & ""Next ixlApp.Visible = TruexlApp.DisplayAlerts = FalseSet xlSheet = NothingSet xlBook = NothingSet xlApp = NothingSet cnADO = NothingSet rsADO = NothingEnd Sub‘----------结束复制(不包括次行)--------------注意:1.iFix历史数据库只支持读90天的数据,在SQL语句中限定时间即可。

IFIX连接SQL读写数据和制作excel报表图文教程

IFIX连接SQL读写数据和制作excel报表图文教程

IFIX连接SQL读写数据和制作excel报表图文教程IFIX连接SQL数据库、制作excel报表详细教程一、 IFIX连接SQL数据库读写数据IFIX连接SQL数据库有多种方法,其中最为方便的两种方法是:(1)使用IFIX本身为SQL数据库提供的接口SQT和SQD;(2)VB+ADO。

下面分别介绍着两种方法的实现步骤。

1、使用SQT和SQD读写SQL数据库1.1 安装SQL2008(只列出关键步骤,其余直接点击“下一步”或“安装”) 打开SQL安装中心,点击“安装”;SQL2008简体中文版安装包下载链接:点击“全新SQL Server独立安装或向现有安装添加功能”;点击“输入产品密匙”,点击“下一步”:(根据版本选择)sql server2008密钥Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYBEnterprise: JD8Y6-HQG69-P9H84-XDTPG-34MBBMicrosoftSQL Server 2008R2序列号密钥开发版32位:MC46H-JQR3C-2JRHY-XYRKY-QWPVM开发版64位:FTMGC-B2J97-PJ4QG-V84YB-MTXX8工组版:XQ4CB-VK9P3-4WYYH-4HQX3-K2R6QWEB版:FP4P7-YKG22-WGRVK-MKGMX-V9MTM数据中心版32位:PTTFM-X467G-P7RH2-3Q6CG-4DMYB数据中心版64位:DDT3B-8W62X-P9JD6-8MX7M-HWK38企业版32位:R88PF-GMCFT-KM2KR-4R7GB-43K4B企业版64位:GYF3T-H2V88-GRPPH-HWRJP-QRTYB标准版32位:CXTFT-74V4Y-9D48T-2DMFW-TX7CY标准版64位:B68Q6-KK2R7-89WGB-6Q9KR-QHFDW功能选择界面,选择安装全部功能,点击“下一步”;进入实例配置界面,选择默认实例,点击“下一步”;进入服务器配置界面,启动类型均选为“自动”;点击“对所有SQL Server 服务使用相同的账户”,在弹出的界面中选择第一个账户,密码不用填;返回服务器配置界面点击下一步;进入数据库引擎配置界面,选择混合模式,输入自己设定的密码,点击“添加当前用户”,点击下一步,直至安装完成,关闭安装中心。

Excel工作簿连接外部数据的方法

Excel工作簿连接外部数据的方法

Excel工作簿连接(导入)外部数据的方法Microsoft Office Excel连接外部数据的主要好处是可以在Excel中定期分析此数据,而不用重复复制数据,复制操作不仅耗时而且容易出错。

连接到外部数据之后,还可以自动刷新(或更新)来自原始数据源的Excel工作簿,而不论该数据源是否用新信息进行了更新。

安全性您的计算机可能禁用与外部数据的连接。

若要在打开工作簿时连接到数据,必须通过使用“信任中心”栏或者将工作簿放在受信任位置来启用数据连接。

1. 在“数据”选项卡上的“获取外部数据”组中,单击“现有连接”。

将显示“现有连接”对话框。

2. 在该对话框顶部的“显示”下拉列表中,执行下列操作之一:o若要显示所有连接,请单击“所有连接”。

这是默认选项。

o若要只显示最近使用的连接的列表,请单击“此工作簿中的连接”。

此列表是从以下连接创建的:已经定义的连接、使用数据连接向导的“选择数据源”对话框创建的连接或者以前在该对话框中选择的连接。

o若要只显示计算机上可用的连接,请单击“此计算机的连接文件”。

此列表是从通常存储在“我的文档”中的“我的数据源”文件夹创建的。

o若要只显示网络上可访问连接文件的可用连接,请单击“网络的连接文件”。

此列表是从Microsoft Office SharePoint Server 2007 网站上的ExcelServices 数据连接库(DCL) 创建的。

DCL 是Microsoft Office SharePoint Services 2007 网站上的一个文档库,其中包含一个Office 数据连接(ODC) 文件(.odc) 的集合。

DCL 通常由网站管理员设置,网站管理员还可以将SharePoint 网站配置为在“外部连接”对话框中显示此DCL 中的ODC 文件。

有关详细信息,请参阅Office SharePoint Server 2007 管理中心帮助。

如果没有看到所需的连接,则可以单击“浏览更多”以显示“选取数据源”对话框,然后单击“新建源”启动数据连接向导,从而创建连接。

EXCEL在IFIX软件的报表实现

EXCEL在IFIX软件的报表实现

EXCEL在IFIX软件的报表实现巩伟;宋勇江【期刊名称】《自动化技术与应用》【年(卷),期】2011(030)006【摘要】本文介绍了一种将办公软件EXCEL与IFIX实现数据报表的方法,利用EXCEL和IFIX软件对OLE的支持,并结合VBA脚本语言,灵活的扩展了IFIX的报表功能,为在工业生产重要的抄表工作提供了一个思路.%This article introduces a method which combines office software Excel and IF 1X to complete data reports, uses EXCEL and IF1X software to support OLE. And combines with VBA Scripting language to extend IF1X function of data reports flexibelly. It provides an idea for important meter reading in industrial production.【总页数】3页(P88-90)【作者】巩伟;宋勇江【作者单位】黑龙江省科学院自动化研究所,黑龙江哈尔滨150090;黑龙江省科学院自动化研究所,黑龙江哈尔滨150090【正文语种】中文【中图分类】TP311.52【相关文献】1.利用EXCEL完善IFIX监控软件的报表功能 [J], 杨永奇2.应用Excel工具软件实现工程统计报表的自动生成 [J], 张相龙3.利用iFIX监控软件实现数据采集和输出报表 [J], 吴坚兰;崔绍文;高连艳;温艳艳;孙合明4.利用Microsfot Excel实现组态软件复杂报表方法的研究 [J], 潘礼军5.利用Microsfot Excel实现组态软件复杂报表方法的研究 [J], 潘礼军;因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IFIX与EXCEL的连接2008年01月17日星期四 16:31第一步,创建ODBC数据源,具体方法:启动控制面板中的数据源ODBC,单击“系统DNS”对话框,选择所需数据源的驱动,如:“Microsoft excel driver (*.exl)”,单击“完成”按钮,弹出“ODBC Microsoft excel 安装”对话框;在数据源名中定义一个数据源名称,数据库中“选择”中选择区县数据所在的数据库,此数据库的表至少有三个字段:时间字段、数据字段、毫秒字段。

单击确定按钮,新创建数据源就添加到“系统DNS”列表中。

第二步,在IFIX中创建代码ADO—在安装了MCROWIN BASIC 6.0 等软件就有了;Private Sub CommandButton1_Click()'注释: 1。

该程序需要安装ADO 2.0目标库并在本机注册' 2。

Microsoft ActiveX Data Objects 2.1 Library 必须被引用 (Office 2000)' 3。

Microsoft Excel 9.0 object libraries 必须被引用 (Office 2000)' 4。

划===处可根据具体报表修改Dim strQueryAvg As StringDim c As IntegerDim r As IntegerDim Intyexcel As Excel.ApplicationDim MyDate, MyMonth, MyDay, MyHour, MyMinute, MySecondDim StartTime, EndTime, Duration, DisplayDay, DisplayMonth As String'++==================================================================='报表中的 TAGDim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 As StringDim Items As IntegerTag1 = "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 & "' or TAG='" & Tag4 & "' or TAG='" & Tag5 & "'" & _ " or TAG='" & Tag6 & "' or TAG='" & Tag7 & "' or TAG='" & Tag8 & "')" & _ "and INTERVAL = '01:00:00' and " & _"(DATETIME >= and " & _"DATETIME <= )"'--===========================================================================Dim cnADO As New ADODB.ConnectionDim rsADO As RecordsetSet cnADO = New ADODB.ConnectioncnADO.ConnectionString = "DSN = FIX Dynamics Historical Data; UID = sa; PWD = ;" cnADO.Open "FIX Dynamics Historical Data", "sa", ""Set rsADO = New ADODB.RecordsetrsADO.Open strQueryAvg, cnADO, adOpenForwardOnly, adLockBatchOptimistic'''如果执行上面的语句出错的话,则最大的可能性就是SQL语句有错误!r = 1Set Intyexcel = New Excel.ApplicationIntyexcel.Visible = False'++============================================================================ '打开的报表文件名Dim OutReportFile As StringDim InReportFile As StringInReportFile = "C:\Dynamics\App\HIST1"Intyexcel.Workbooks.Open InReportFile & ".XLS"Intyexcel.Sheets("Sheet2").SelectIntyexcel.Columns("A:Z").SelectIntyexcel.Selection.ClearContentsIntyexcel.Range("A1").SelectWhile rsADO.EOF <> TrueWith Intyexcel.Worksheets(2)For c = 0 To ItemsIf rsADO(c) <> "" Then .Cells(r, c + 1).Value = rsADO(c)Next cr = r + 1rsADO.MoveNextEnd WithWendIntyexcel.Sheets("Sheet1").Select' Intyexcel.ActiveSheet.PageSetup.Orientation = xlPortrait 'xlLandscape' Intyexcel.ActiveSheet.PageSetup.PaperSize = xlPaperA4Intyexcel.ActiveSheet.PrintOutIntyexcel.DisplayAlerts = FalseIntyexcel.ActiveWorkbook.SaveOutReportFile = InReportFile & "_00" & MyMonth & MyDayIntyexcel.ActiveWorkbook.SaveAs OutReportFileIntyexcel.QuitIntyexcel.DisplayAlerts = TrueSet Intyexcel = NothingSet cnADO = NothingEnd Sub4.2 iFIX中电厂日报表的生成总则:运用iFIX的调度器运行基于时间的VBA脚本来生成每天的EXCEL格式日报表。

1) iFIX中调度设置在iFIX中新建时间调度,设置成间隔1小时的调度项,然后点击VB编辑器自定义脚本.2) 初始变量定义Dim ReportArray As Variant Rem 存放日报中所有要显示的参数的数组Dim FirstPoint1 As Variant Rem 第一个变量Dim tempvar As Variant Rem 中间变量Dim strStartTime, strEndTime Rem 报表查询的时间范围Dim Interval As Variant Rem 报表查询的间隔时间Dim OutReportfile As Variant Rem 输出EXCEL表格的文件名Dim TemplateName As String Rem 这个是日报表模板的文件名3) 建立对EXCEL的引用,并打开报表的模板文件:Set msExcel = CreateObject("Excel.Application")With msExcel.WindowState = xlMinimized.Visible = False.Workbooks.Open ReportTemplateName, , False Rem 打开报表的模板文件.ActiveWorkbook.ActiveSheet.Select.DisplayAlerts = False.DisplayAlerts = False.Wait (Now() + 0.00002)End With4) 创建SQL查询语句:Dim rsADO As New ADODB.RecordsetDim cnADO As New ADODB.ConnectionDim SQL0,SQL1 AS StringSQLO = "select FIX.value from FIX where FIX.interval=|" + Interval + "| and FIX.datetime>={ts|" + strStartTime + "|} and FIX.datetime<{ts|" + strEndTime + "|}" Rem FIX为本地节点名SQL1 = SQLO & " and (FIX.tag=|" & FirstPoint1 & "|"iTotalCols = 1For Each tempvar In FirstReportPointsiTotalCols = iTotalCols + 1SQL1 = SQL1 & " or FIX.tag=|" & tempvar & "|"Next tempvarSQL1 = SQL1 + ")"5) 执行对数据库的查询:Set cnADO = New ADODB.ConnectionWith cnADORem .CursorLocation = adUseClient.Open "PROVIDER = Microsoft OLE DB Provider for ODBC Drivers;dsn=FIX Dynamics Historical Data;uid=sa;pwd=;".Execute (SQL1)End With6) 建立查询数据库后的记录集,并把数据写到EXCEL中后另存为EXCEL文件:Set rsADO = New ADODB.RecordsetrsADO.CursorLocation = adUseClientrsADO.Open SQL1, cnADO, adOpenForwardOnly, adLockReadOnlyIf rsADO.BOF ThenrsADO.ClosecnADO.CloseWith msExcelDoEvents.ActiveWorkbook.Close.QuitEnd WithSet msExcel = NothingRem MsgBox "第一个表查询条件为空,请检查查询条件"Exit SubElsec = 1While rsADO.EOF <> TrueWith msExcel.Worksheets(1)For j = 1 To 24If rsADO(0) <> "" ThenmsExcel.Worksheets(1).Cells(j, c).Value = rsADO(0)rsADO.MoveNextEnd IfNext jEnd Withc = c + 1WendmsExcel.ActiveWorkbook.SaveAs "d:\" & OutReportfile & ".xls"msExcel.QuitmsExcel.DisplayAlerts = TruemsExcel.Visible = TrueSet msExcel = NothingSet cnADO = NothingrsADO.Close。

相关文档
最新文档