LabVIEW中向Excel写入数据
在LABVIEW中实现对数据库表格的操作
在LABVIEW中实现对数据库表格的操作摘要:利用LabVIEW 数据库工具包只能操作而不能创建数据库,所以必须借助第三方数据库管理系统,比如Access,来创建数据库。
本文试图通过LABVIEW对数据库进行操作,在LABVIEW中建立学生成绩查询系统。
关键词:引言:现今,数据库技术已经发展的比较成熟了,著名的数据库管理系统有SQL Server、Oracle、DB2、Sybase ASE、Visual ForPro、Microsoft Access等。
Microsoft Access是在Windows 环境下非常流行的桌面型数据库管理系统,它作为Microsoft office组件之一,安装和使用都非常方便,并且支持SQL 语言,所以本文将基于Access 来介绍LABVIEW在数据库中的的操作。
在利用NI公司的附加工具包中的数据库接口工具包LabVIEW SQL Toolkit进行数据库访问。
该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。
它的优点是易于理解,操作简单,用户可以不学习SQL语法。
LabVIEW SQL Toolkit(又被称作为LabVIEW Database Connectivity Toolset)是用于数据库访问的附加工具包,它集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能[10]。
其主要的功能如下:(1)支持ADO所支持的所有的数据库引擎;(2)支持所有与ODBC或OLE DB兼容的数据库驱动程序;(3)具有高度的可移植性,在任何情况下,用户通过改变DB Tools Open Connection VI的输入参数Connection String就可以更换数据库;(4)可以将数据库中Column Values的数据类型转换为标准LabVIEW Database Connectivity Toolset的数据类型,这进一步增强了它的可移植性;(5)与SQL兼容;(6)不使用SQL语句就可以实现数据库记录的查询、添加、修改以及删除等操作;(7)用户可以完全不需要学习SQL语法。
labview写入电子表格
竭诚为您提供优质文档/双击可除labview写入电子表格篇一:labView怎么利用activex读取excel数据[][]在labView中利用activex读取excel数据网络上有很多关于读取excel的例子,但一直没有找到读取文件中整sheet的数据,所以在这里介绍一下在labView 中利用activex读取文件中整张表格的内容.labView中利用activex打开excel分openapplication,openworkbook自动化引用句柄:引用句柄>>自动化引用句柄;2.前面板中右击自动化引用句柄,在选择activex类下选择excel._application此时自动化引用句柄的名称会更新excel._application;3.程序框图中放下打开自动化:右击excel._application>>activex选板>>打开自动化;4.将excel._application连线至打开自动化的左侧自动化引用句柄端;5.程序框图中放下属性节点;(同步骤3)6.将打开自动化的右侧自动化引用句柄端连线至属性节点的引用端;7.单击属性节点的属性,在下拉列表中选择workbooks;8.程序框图中放下调用节点;(同步骤3)9.将步骤7中的workbooks连线至调用节点的引用端;10.单击调用节点的方法,在下拉列表中选择open;11.在open的Filename输入端连接所需打开excel文件的路径;12.同步骤5,放下属性节点,其引用端连接open,然后单击属性节点的属性,在下拉列表中选择worksheets;13.同步骤8,放下调用节点,其引用端连接worksheets,然后单击调用节点的方法,在下拉列表中选择item;14.在item的index输入端创建输入控件,此输入控件代表excel中的sheet#;(例如需要打开文件中的sheet2,可直接连接num2至index输入端)15.程序框图中放下变体至数据转换(同步骤3),将其变体端连接至item;16.同步骤1,在前面板中再次放下自动化引用句柄,然后如步骤2方式在选择activex类下选择excel._worksheet;17.程序框图中,将excel._worksheet连线至变体至数据转换的类型端;18.同步骤5,放下属性节点,其引用端连接变体至数据转换的数据端,然后单击属性节点的属性,在下拉列表中选择usedRange;19.同步骤8,放下调用节点,其引用端连接usedRan(labview写入电子表格)ge,然后单击调用节点的方法,在下拉列表中选择Value(获取);20.同步骤15,放下变体至数据转换,其变体端连接至Value;21.只要在变体至数据转换的类型端连接一个二维的字符型数组常量,就可以在数据端获取表格中的数据了;(连贯的程序如下)22.程序的最后需要closeapplication,closeworkbooks[]实例应用在写一个数据整理工具中用到的事例:data的文件类型可以是.csv或者.xls,其中.csvfile可以通过labView中的读取电子表格文件工具直接读取,而.xls则需要用到Readexcel子Vi来实现.实例框图如下:[前面板]篇二:使用labView读取excel的数值数据使用labView读取excel的数值数据一、题目概述:这是一个基于labview读取excel的数值数据的程序。
005.在LabwindowsCVI中调用Excel的几种方法
最近需要实现在CVI中对Excel文件的读写,参考了几篇论文后,总结下基本上有3种方法:1.DDE(Dynamic Data Exchange);2.ADO(ActiveX Data Objects);3.Microsoft Excel xx.0 Object Library.DDE真是不知道那个角落里的东西,从传说中的Windows 3.x开始就有,直到最新版的Excel还支持这种方法。
资料少的可怜,MSDN上有两篇关于用DDE调用Excel的文章。
根据我的测试,这方法首先是用无论哪种方式打开Excel主程序,然后再对Excel进行连接,连接后通过通用的DDE函数进行数据传递。
我写的程序没有成功,主要在连接的时候经常连接失败,最后在打开Excel程序后加了很多延迟,问题好了很多,但有时候还是莫名其妙的连接失败。
在Excel的写入和读取上,尽管我已经把程序写的和一篇论文很像,但总是出现同一个错误,折腾了几下就放弃这种方法了。
鉴于DDE是接近淘汰的技术,其连接也不可靠,所以不建议使用这种方法。
Microsoft Excel xx.0 ObjectLibrary貌似资料很多,但是鉴于CVI的用户数量,还是别指望太多,MSDN上有VB和C#的实例,如果我没记错的话.至于CVI中的库,真不知道是谁写的,哪都找不到帮助,MSDN上有完整的VB下的手册可以参考,如果装过完整版的Office的话好像会有个中文版的。
用这东西真叫一个烦,大部分函数得看着VB 下的手册猜着怎么用,步骤很繁琐。
用它好处是,几乎可以实现Excel 的所有功能,操作顺序跟实际操作Excel有点像,缺点除了编程繁琐外,就是其版本严格的一一对应,Microsoft Excel 11.0 ObjectLibrary对应的就是Excel 2003,版本高了、低了都不行,甚至有同版本不同Service Pack都不能兼容的情况。
ADO+微软的Jet,可以实现把Excel映射成数据库,用SQL语言来操作Excel。
labview文件的输入输出
波形文件I/O子模块
文件I/O函数子模板
1 写电子表格文件(Write to Spreadsheet File) 该节点把一个二维或一维单精度浮点数数组写
到一个电子表格文件中。节点图标及连接端口如 下图:
如果文件存在,则既可以把数据追加到该文件, 也可以覆盖原有的数据;如果文件不存在,则创 建新文件。此节点在读取数据前打开文件,读取操作完
无法被一般的字处理软件如Word读取,通用性较 差。
(4)数据记录文件
一种二进制文件
它把数据组织为具有相同结构的记录,每一行为一个记 录,每个记录都具有相同的数据结构。LabVIEW把每
一个记录作为一个簇写入文件 。
(5)波形文件
波形文件是一种特殊的数据记录文件,它记录了波形数 据特有的一些信息,如波形的起始时间、采样的间隔时 间等。
在保存文本文件前,首先要将数据转换为字符串,然后再用相关的函数将字符串写 入到文件中。
2 读取文本文件(Read From Text File) 从一个文本文件中读取字符,操作完成后自动 关闭该文件。节点图标及连接端口如下图:
例 3 由序号i和一个随机数构成的文本文件。
运行该程序后,在E盘生成f1的文本文件。用 记事本打开这个文件,可以该数据序列。
例 5 二进制文件保存
例6 二进制文件读取
数据记录文件 数据记录文件实际也是一种二进制文件,输
入的数据类型可以是任何数据类型。操作方法 与二进制文件基本相同。不同的是数据记录文 件必须用它的专用操作函数。在FILE I/O| Advanced File Functions|Datalog下
没有专门用于存储数据记录文件的VI。 需要依靠基本分立函数来实现数据存储。
格式转换,因而需要花费额外的时间; 第三,不能随机地访问其中的某个数据,
labview中excel easy text无法运行的处理方式
labview 中excel easy text 无法运行的处理方式不知道从何时起,也许是从重装系统起,excel easy text 就不能执行了,我一直苦于寻求答案,今天在ni 上看到一个原因解答如下面所示:如果是程序执行了一段时间之后错误出现,这个很有可能是由于电子表格的大小达到限制。
在2007 版本之前微软的电子表格限制列数是256 列,行数是65536 行,之后的版本这个限制增加到列数是16384 列,行数是1 百万行。
如果超过这个限制,电子表格就试图访问允许范围外的行或列时,这个错误会出现。
错误- 2146827284 来自Excel_Get_Range VI。
如果限制没有被检测的话,那么在while 循环中往电子表格写数据很快就会超出限制。
报表生成工具包开始支持2007 的1.1.2 版本的办公软件。
以上的解释似乎有道理可是没有解决方式,因此我在gsdzone 上面看到了同样的问题,然后看到版主给出了自己的答案,如下描述:自己到这个函数里,看看哪里出问题了。
因为是调用的Activex,一般可能是属性节点不兼容什么的,自己从新弄下,保存。
这个方案让我想到了以前的也是通过这种方式解决了这样一个问题,下面我们看看这个问题的解决过程:1.双击excel easy text 模块进入2.点击运行按钮弹出错误对话框提示信息,发现问题出在excelset cell color and border 这个模块中,再双击进入该模块,运行后出现错误提示框,进入后面板程序发现有连线点未连线下面是出问题的部分也就是这里有的调用没有连接输入的问题。
但是给color 和linestyle 都加上常量输入后仍然是这个问题,然后根据前面的inside border 输入后的程序来改进,也就是把I32 输出值加在color 上面,如下图所示:。
LabVIEW与Excel的通信方法
LabV I EW 中的 DDE 是 W indow s操作系统中的一种基于消息的协议。利用 LabV I EW 的 DDE 功能可以很好地实现 LabV I EW 与 Ex ce l 的数据通信。通过具体例子叙述了 LabV I EW 的 DDE 功能, 这种功能使得 LabV I EW 与 Exce l的数据交换方便快捷, 实现方法简单明 了 , 实践表明 DDE 是增强 LabV I EW 整体功能的一条有效途径。 关键词 : 虚拟仪器 通信 动态数据交换 文献标识码 : A 中图分类号 : TP311 . 13
图 4 通道数据 . x ls 文件 F ig . 4 Channel da ta . x ls file 图 3 向 Exce l写数据界面 F ig . 3 Inte rface o f w rite data to Ex cel
首 先, 用 DDE O pen Conversation. v i建立 LabV IE W 与 Excel的连接, 给这个 v i的 serv ice 端口 参数输 入服 务名称为 Excel , 给 它的 top ic 端 口参 数输 入交换 数 据的文件名 通道数据. x ls 。
本文通过一个实例阐述了 LabV IEW 与 Excel的通
图 5 从 Ex ce l读数据界面 F ig. 5 Inte rface o f read data from Excel
信方 法。 DDE 功 能使 得 LabV I EW 与 Excel的 数据 交 换方便快捷, 实现方法简单 明了。以上例 子的 v i程序 在 L abV I EW 6 1 和 M icroso ft Excel 环 境 下 以 及 中 文 W indow s98环境中运行通过。
LabWindowsCVI中调用Excel
LabWindows/CVI中调用Excel设计要求:1.启动Microsoft Excel并打开xls文件;2.向xls文件中写入数据;3.根据所填入的数据完成画图功能;4.Xls具有存盘,关闭等功能;5.关闭Microsoft Excel。
利用ActiveX技术进行Excel访问。
ActiveX技术以微软的COM技术为基础,也称之为ActiveX自动化。
ActiveX是一种软件组件,它可以插入到不同的应用程序中,并被当作程序的一部分来使用。
利用ActiveX可以把两个或两个以上的应用程序组合在一起,使其像应用程序一样工作,或者可以在同一应用程序外壳中进行不同应用程序间的切换。
生成自动化仪器驱动器在LabWindows/CVI的工程主窗口中选择Tool/Create ActiveXController,弹出ActiveX Controller Wizard对话框,点击Next进入自动化服务器选择对话框,如图1所示。
选择Microsoft Excel 12.0 Object Library,点击Next进入服务器配置对话框,如图所示。
ActiveX Server 表示已选中的ActiveX服务器名称,Instnmmnt Prefix表示生成驱动器的前缀,可以设置为空或键人有效的C语言标识符,若不输入任何字符,系统会默认产生一个有效的文件名,一般情况下不用修改此属性。
Target.fp File表示CVI产生的.fp文件在磁盘中的存储路径,点击Browse可以查找或定位一个.fp文件。
将Add.fp File To Project选中表示允许把所产生的.fp文件加入当前工程中。
点击Compatibility Options进入兼容选项对话框,通过该对话框选项可以保持所产生的代码源文件与已经存在的ActiveX仪器驱动的向后兼容性,系统默认为Per Property。
点击Next进入高级选项对话框,在高级选项对话框中,点击Advanced Option 将显示高级函数配置对话框,可以通过此对话框来增减ActiveX对象及修改对象的名称和标识符,高级函数一般采用默认配置即可。
最新LabVIEW中向Excel写入数据
LabVIEW中向Excel写入数据这里只讨论通过Activex的方法,因为只有这种方法,才能完全发挥Excel的所有强大的功能。
首先,Labview是有一些自带的关于Excel编程的例子的。
在find example里search一下,有挺多的,其中有一个叫write table to XL.vi,我最早就是跟着它学的。
学了不少,也被误导了很久,其实也不能算误导,只是以前没花时间去研究。
最近在用Labview写一个类似ERP一样的软件,接触很多Excel表格,花了些功夫在Excel VBA上,也算比以前有了更多的认识了。
先来看看write table to XL这个程序:这个程序的目的就是把一个2维数组(表格)里的内容写到excel里。
从上图看,步骤大致是这样的,先打开excel,再打开一个workbook,然后打开worksheet,这实际上跟咱们使用excel的过程是一样的。
打开worksheet 以后,它还定义了行与列的header,最后才把table里的数据写到excel里。
那个cell value子vi,我是从开始就用它,也像这个例子一样,每次写都是套俩for loop,然后往excel里边猛写。
最近我才发现,原来有其他的方法,可以一次性写一个二维数组进去,非常快。
其实想想也是,不至于会那么傻了。
不过也怪VBA里太多的属性和方法,不容易找。
前边的打开excel workbook和worksheet我就不说了,例子里就有,可以新建一个workbook和sheet,也可以打开现有的,这个在excelexample.llb里都能找到。
(excelexample在哪里?这个……,打开这些个VI,saveas一下就知道在哪里了,ok?)1接下来说一下这几天找到的几个方法和属性。
首先是Insert,插入行或者列(就像你在excel里右键插入一样,每次只能一行或者一列,要多行的话,只能多来几次了,是这样吧?)在说这个之前,先说下怎么找这些属性和方法,在Excel里,打开VB编辑器(工具-》宏-》VB 编辑器,excel2007是在菜单开发工具下,我用的是Excel2007),打开以后看VB语言参考,重点就是里边的方法和属性,对应在Labview里边的Property和Method节点。
labview文件的输入输出
2019SUCCESS
POWERPOINT
2019/6/3
2019SUCCESS
THANK YOU
2019/6/3
格式转换,因而需要花费额外的时间; 第三,不能随机地访问其中的某个数据,
(2)电子表格文件
仍然以ASCII码格式来存储数据,使Microsoft Excel等电子表格处理软件能直接读取这类数据文件
(3)二进制文件
存取速度最快、格式最为紧凑、冗余数据少
占用的空间要比文本文件小得多
不需要进行格式转换
无法被一般的字处理软件如Word读取,通用性较 差。
(4)数据记录文件
一种二进制文件
它把数据组织为具有相同结构的记录,每一行为一个记 录,每个记录都具有相同的数据结构。LabVIEW把每
一个记录作为一个簇写入文件 。
(5)波形文件
波形文件是一种特殊的数据记录文件,它记录了波形数 据特有的一些信息,如波形的起始时间、采样的间隔时 间等。
例 4 读文本文件。
二进制文件
1 写二进制文件(Write to Binary File) 二进制文件的数据可以是任何数据类型,譬如 数组或簇等复杂数据。新的数据可以追加到已有 文件尾,也可以覆盖原有的数据;如果输入的文 件不存在,则创建一个新文件。节点图标及连接 端口如下图:
2 读二进制文件(Read From Binary File) 从一个二进制文件中读取指定格式的数据,读 出时的数据格式必须与写入时的格式完全一致, 否则数据出现混乱。节点图标及连接端口如下图:
优点 :通用性强易共享,即文件的内容可以被 Microsoft Word 、 Microsoft Excel 甚 至
labview中读取excel的原理
LabVIEW中读取Excel的原理一、介绍LabVIEW是一种用于数据获取、分析和可视化的编程环境,它结合了图形化的编程和多种工具箱,可以快速实现各种控制、测量和数据采集应用。
作为一种强大的工具,LabVIEW可以读取和处理各种不同格式的数据,包括Excel文件。
本文将针对LabVIEW中读取Excel的原理展开讨论。
二、Excel文件的结构我们需要了解Excel文件的基本结构,这样才能更好地理解LabVIEW 读取Excel的原理。
Excel文件是一种电子表格文件,它由多个工作表组成,每个工作表包含多行和多列的单元格。
在Excel文件中,每个单元格都有自己的位置区域,用行号和列号表示,例如A1、B2等。
Excel文件中的数据可以包括文本、数字、日期等不同类型的数据。
三、LabVIEW中读取Excel的原理在LabVIEW中读取Excel文件,通常需要使用Excel文件的读取工具或者使用相关的函数和工具箱。
LabVIEW提供了丰富的工具和函数,可以直接读取Excel文件,也可以通过ActiveX Automation或者.NET Interop等方式读取和处理Excel数据。
1. 使用Excel文件读取工具LabVIEW提供了专门的Excel文件读取工具,可以方便地读取Excel文件的数据。
通过这种方式,我们可以直接打开Excel文件,选择需要读取的工作表、行和列,然后将数据读取到LabVIEW中进行进一步处理和分析。
2. 使用相关函数和工具箱除了Excel文件读取工具之外,LabVIEW还提供了许多相关的函数和工具箱,可以用于读取和处理Excel文件。
通过这些函数和工具箱,我们可以编写相应的程序来实现对Excel文件的读取和数据处理,这种方式更加灵活和定制化。
四、实例分析接下来,我们通过一个具体的实例来演示LabVIEW中读取Excel的原理,以便更好地理解。
假设我们有一个包含学生成绩的Excel文件,我们需要将这些成绩读取到LabVIEW中,计算平均分并进行可视化展示。
labview表格的使用
竭诚为您提供优质文档/双击可除labview表格的使用篇一:在labView中实现对数据库表格的操作在labView中实现对数据库表格的操作摘要:利用labView数据库工具包只能操作而不能创建数据库,所以必须借助第三方数据库管理系统,比如access,来创建数据库。
本文试图通过labView对数据库进行操作,在labView中建立学生成绩查询系统。
关键词:引言:现今,数据库技术已经发展的比较成熟了,著名的数据库管理系统有sqlserver、oracle、db2、sybasease、VisualForpro、microsoftaccess等。
microsoftaccess是在windows环境下非常流行的桌面型数据库管理系统,它作为microsoftoffice组件之一,安装和使用都非常方便,并且支持sql语言,所以本文将基于access来介绍labView在数据库中的的操作。
在利用ni公司的附加工具包中的数据库接口工具包labViewsqltoolkit进行数据库访问。
该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。
它的优点是易于理解,操作简单,用户可以不学习sql语法。
labViewsqltoolkit(又被称作为labViewdatabaseconnectivitytoolset)是用于数据库访问的附加工具包,它集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能[10]。
其主要的功能如下:(1)支持ado所支持的所有的数据库引擎;(2)支持所有与odbc或oledb兼容的数据库驱动程序;(3)具有高度的可移植性,在任何情况下,用户通过改变dbtoolsopenconnectionVi的输入参数connectionstring 就可以更换数据库;(4)可以将数据库中columnValues的数据类型转换为标准labViewdatabaseconnectivitytoolset的数据类型,这进一步增强了它的可移植性;(5)与sql兼容;(6)不使用sql语句就可以实现数据库记录的查询、添加、修改以及删除等操作;(7)用户可以完全不需要学习sql语法。
LabVIEW中向Excel写入数据
LabVIEW中向Exce l写入数据这里只讨论通过Active x的方法,因为只有这种方法,才能完全发挥E xcel的所有强大的功能。
首先,Labview是有一些自带的关于Exc el编程的例子的。
在find example里searc h一下,有挺多的,其中有一个叫w rite table to XL.vi,我最早就是跟着它学的。
学了不少,也被误导了很久,其实也不能算误导,只是以前没花时间去研究。
最近在用Lab view写一个类似ERP一样的软件,接触很多Exc el表格,花了些功夫在E xcel VBA上,也算比以前有了更多的认识了。
先来看看wri te table to XL这个程序:这个程序的目的就是把一个2维数组(表格)里的内容写到e xcel里。
从上图看,步骤大致是这样的,先打开exce l,再打开一个wo rkbook,然后打开wor ksheet,这实际上跟咱们使用exce l的过程是一样的。
打开works heet 以后,它还定义了行与列的head er,最后才把tab le里的数据写到exce l里。
那个cellvalue子v i,我是从开始就用它,也像这个例子一样,每次写都是套俩for loop,然后往exce l里边猛写。
最近我才发现,原来有其他的方法,可以一次性写一个二维数组进去,非常快。
其实想想也是,不至于会那么傻了。
不过也怪VBA里太多的属性和方法,不容易找。
前边的打开ex cel workboo k和work sheet我就不说了,例子里就有,可以新建一个w orkboo k和shee t,也可以打开现有的,这个在exce lexamp le.llb里都能找到。
(excelex ample在哪里?这个……,打开这些个VI,saveas一下就知道在哪里了,ok?)接下来说一下这几天找到的几个方法和属性。
使用LABVIEW读取Excel的数值数据
使用LABVIEW读取Excel的数值数据一、题目概述:这是一个基于labview读取Excel的数值数据的程序。
微软的Word和Excel 是创建报表的有力的标准软件套件。
由于它们已被广泛使用,一些LABVIEW的使用者会使用LABVIEW的ActiveX接口来动态的控制这些文档处理软件,使用LABVIEW生成报表。
二、设计目的:如何在LabVIEW中读取微软Excel电子数据表中的数值数据,方便labview的使用者方便使用Excel表格中的数值数据。
三、设计总体方案:3.1设计思路我们可以使用读取测量文件的Express VI从Excel电子数据表中将数值数据读取到LabVIEW中,整个过程由以下两个步骤组成:首先将你的Excel电子数据表另存为以Tab键分割的文本文件;然后,将*.txt文件重命名为*.lvm文件。
使用读取测量文件的Express VI就可以将数值数据读取到LabVIEW中。
3.2设计方案1)打开包含了基本的数值信息的Excel电子数据表。
2)将你的Excel电子数据表另存为以Tab键分割的文本文件。
3)单击“确定”。
需要注意的是,你保存的只是活动工作表的数值数据。
4)单击“是”。
5)关闭你的Excel文档。
6)导航到你先前保存Tab键分割文本文件的目录,对你的filename.txt右击,选择“重命名”,将你的文件以.lvm的后缀命名,即命名为filename.lvm。
7)使用读取测量文件的Express VI,在配置窗口的文件名栏,选择filename.lvm,可以将你的数值电子数据表读取到LabVIEW中。
使用读取电子表格的VI:LabVIEW的读取电子表格文件的VI不能直接读取.xls的文件,只能读取分割文本文件。
如果是通过人工在读取电子表格的VI输入数据(不是使用LabVIEW的写入电子表格文件的VI)来创建的Excel电子数据表的话,该VI是无法很好地解读.xls文件的,而且将会向数组返回零值。
LabVIEW与Excel连接
创建一个新的Excel表
2、写入数据并退出Excel 对数据表( sheets ) 使用Invoke Node调用其Add方法, 并调用Variant to Data函数将变形体数据转化为LabVIEW中 的有效数据类型。然后使用Invoke Node调用Worksheet中的 Range方法, 指定输出数据单元格的行、列号( 本例为第一 行、 第一列) ; 通过使用Property Node给Range方法的 Value属性赋值,输入设定的数据。 最后.使用Invoke Node调用Workbook的Close方法关 闭数据表;调用Application的Quit方法退出Excel,退出前 给出是否保存数据表的提示; 调用Automation Close函数关 闭ActiveX服务器,并输出错误代码。
LabVIEW与Excel连接
华北电力大学 控制与计算机工程学院
主要内容
背景介绍
创建一个新的Excel表 打开一个现有的Excel表 利用LabVIEW对Excel进行修改
背景介绍
ActiveX是微软公司推出的一个技术集的统称,基于 COM(Component Object Model)组件对象模型技 术,是OLE(Object Linking and Embedding)技 术的扩展。 通过现成的ActiveX对象,用户可以方便的实现许多强 大功能,如操作Excel、PowerPoint等。 LabVIEW5.0以上版本开始支持ActiveX技术。 本组利用LabVIEW提供的ActiveX来操作Excel。
打开一个现有的Excel表
(4)将鼠标放在图标上Workbooks的位置,右击,选择 “创建→Excel.Workbooks类的方法→Open”,放置 在合适的位置。通过Open方法打开一个工作薄,它可 以返回打开工作薄的引用。 (5)在函数面板→文件I/O → 高级文件函数,选择“路径 至字符串转换”,将其放在程序框图的合适位置,然后 创建输入控件“路径”。 (6)创建“引用输出”、“错误输出”、“返回值”。
LabVIEW与Excel连接..
创建一个新的Excel表
2、写入数据并退出Excel
对数据表( sheets ) 使用Invoke Node调用其Add方法, 并调用Variant to Data函数将变形体数据转化为LabVIEW中 的有效数据类型。然后使用Invoke Node调用Worksheet中的 Range方法, 指定输出数据单元格的行、列号( 本例为第一 行、 第一列) ; 通过使用Property Node给Range方法的 Value属性赋值,输入设定的数据。
通过现成的ActiveX对象,用户可以方便的实现许多强 大功能,如操作Excel、PowerPoint等。
LabVIEW5.0以上版本开始支持ActiveX技术。 本组利用LabVIEW提供的ActiveX来操作Excel。
背景介绍
LabVIEW中的 ActiveX Controls子模板提供的控制 型控件包括:ActiveX容器( container ) 、 变体数据 类型( variant) 、 自动化引用句柄 (automation refnum) 。
前面板:
修改指定单元格的内容
程序面板:
通过ActiveX插件打开Excel→指定表单与对应单元格→指定单元格的值→关闭引用
修改指定单元格的内容
运行结果:
修改指定单元格的内容
子vi的应用-简化程序,打包调用
labview文件的输入输出
2.特点 (1)近代中国交通业逐渐开始近代化的进程,铁路、水运和 航空都获得了一定程度的发展。 (2)近代中国交通业受到西方列强的控制和操纵。 (3)地域之间的发展不平衡。 3.影响 (1)积极影响:促进了经济发展,改变了人们的出行方式, 一定程度上转变了人们的思想观念;加强了中国与世界各地的 联系,丰富了人们的生活。 (2)消极影响:有利于西方列强的政治侵略和经济掠夺。
二、近代以来交通、通讯工具的进步对人们社会生活的影 响
(1)交通工具和交通事业的发展,不仅推动各地经济文化交 流和发展,而且也促进信息的传播,开阔人们的视野,加快 生活的节奏,对人们的社会生活产生了深刻影响。
(2)通讯工具的变迁和电讯事业的发展,使信息的传递变得 快捷简便,深刻地改变着人们的思想观念,影响着人们的社 会生活。
D.航空运输
解析:根据所学1872年李鸿章创办轮船招商局,这是洋务
运动中由军工企业转向兼办民用企业、由官办转向官督商
办的第一个企业。具有打破外轮垄断中国航运业的积极意
义,这在一定程度上保护了中国的权利。据此本题选C项。
答案:C
2. 右图是1909年《民呼日报》上登载的 一幅漫画,其要表达的主题是( ) A.帝国主义掠夺中国铁路权益 B.西方国家学习中国文化 C.西方列强掀起瓜分中国狂潮 D.西方八国组成联军侵略中国
()
A.江南制造总局的汽车
B.洋人发明的火车
C.轮船招商局的轮船
D.福州船政局的军舰
[解析] 由材料信息“19世纪七十年代,由江苏沿江居民 到上海”可判断最有可能是轮船招商局的轮船。
[答案] C
[题组冲关]
1.中国近代史上首次打破列强垄断局面的交通行业是 ( )
A.公路运输
LabVIEW中向Excel写入数据
卑微如蝼蚁、坚强似大象LabVIEW 中向Excel 写入数据这里只讨论通过Activex 的方法,因为只有这种方法,才能完全发挥Excel 的所有强大的功能。
首先,Labview 是有一些自带的关于Excel 编程的例子的。
在find example 里search 一下,有挺多的,其中有一个叫write table to XL.vi,我最早就是跟着它学的。
学了不少,也被误导了很久,其实也不能算误导,只是以前没花时间去研究。
最近在用Labview 写一个类似ERP 一样的软件,接触很多Excel 表格,花了些功夫在Excel VBA 上,也算比以前有了更多的认识了。
先来看看write table to XL 这个程序:这个程序的目的就是把一个2维数组(表格)里的内容写到excel 里。
从上图看,步骤大致是这样的,先打开excel ,再打开一个workbook ,然后打开worksheet ,这实际上跟咱们使用excel 的过程是一样的。
打开worksheet 以后,它还定义了行与列的header ,最后才把table 里的数据写到excel 里。
那个cell value 子vi ,我是从开始就用它,也像这个例子一样,每次写都是套俩for loop ,然后往excel 里边猛写。
最近我才发现,原来有其他的方法,可以一次性写一个二维数组进去,非常快。
其实想想也是,不至于会那么傻了。
不过也怪VBA 里太多的属性和方法,不容易找。
前边的打开excel workbook 和worksheet 我就不说了,例子里就有,可以新建一个workbook 和sheet ,也可以打开现有的,这个在excelexample.llb里都能找到。
(excelexample在哪里?这个……,打开这些个VI,saveas一下就知道在哪里了,ok?)接下来说一下这几天找到的几个方法和属性。
首先是Insert,插入行或者列(就像你在excel里右键插入一样,每次只能一行或者一列,要多行的话,只能多来几次了,是这样吧?)在说这个之前,先说下怎么找这些属性和方法,在Excel里,打开VB编辑器(工具-》宏-》VB 编辑器,excel2007是在菜单开发工具下,我用的是Excel2007),打开以后看VB语言参考,重点就是里边的方法和属性,对应在Labview里边的Property和Method节点。
labview文件的输入输出
例 5 二进制文件保存
例6 二进制文件读取
数据记录文件 数据记录文件实际也是一种二进制文件,输 入的数据类型可以是任何数据类型。操作方法 与二进制文件基本相同。不同的是数据记录文 件必须用它的专用操作函数。在FILE I/O| Advanced File Fu有专门用于存储数据记录文件的VI。 需要依靠基本分立函数来实现数据存储。 按以下流程存储数据记录文件:
建立空文件 将不同数据类型合成簇。 将簇写入文件 关闭文件
1. 写数据记录文件
数据记录文件类似于数据库文件,每个记录 实际就是一个簇。如上图,该簇由一个字符串, 一个数值和一个数组构成。
完成后关闭该文件。
2 读电子表格文件(Read From Spreadsheet File) 从一个电子表格文件中读取一定数量的数据, 并把这些数值字符串转换成单精度浮点数后,从 一个二维数组中返回。节点图标及连接端口如下 图:
注意:电子表格文件的所有字符串必须由有效 的数值字符组成。此节点在读取数据前打开文件,读取
写波形文件程序前面板:
2. 读波形文件
读波形文件程序框图:
波形文件I/O子模块
文件I/O函数子模板
1 写电子表格文件(Write to Spreadsheet File) 该节点把一个二维或一维单精度浮点数数组写 到一个电子表格文件中。节点图标及连接端口如 下图:
如果文件存在,则既可以把数据追加到该文件, 也可以覆盖原有的数据;如果文件不存在,则创 建新文件。此节点在读取数据前打开文件,读取操作
第十一讲
文件输入输出
LabView能够输入输出的基本文件类型
支持以下几种格式用于文件的输入和输出,即文本文件、 二进制文件、数据记录文件、波形文件、测量文件和 TDM\TDMS文件。 其中,电子表格文件是一种特殊类型的文本文件;数据 记录文件中又包含一种被称为波形文件的文件格式。
labview文件的输入输出
例 5 二进制文件保存
例6 二进制文件读取
数据记录文件 数据记录文件实际也是一种二进制文件,输 入的数据类型可以是任何数据类型。操作方法 与二进制文件基本相同。不同的是数据记录文 件必须用它的专用操作函数。在FILE I/O| Advanced File Functions|Datalog下
操作完成后关闭该文件。
例 1 由序号i和一个随机数构成的电子表格文 件。
运行该程序后,在E盘生成c1.xls的电子表格 文件。用Excel打开这个文件,可以看两列数据: 一列是序号,另一列是随机数。
例 2
读电子表格文件。
文本文件
1 写文本文件(Write to Text File) 把字符串写入一个新文件中或追加到一个已经 存在的文件尾。在写字符串前,打开或创建文件; 操作完成后自动关闭该文件。节点图标及连接端 口如下图:
第十一讲
文件输入输出
LabView能够输入输出的基本文件类型
支持以下几种格式用于文件的输入和输出,即文本文件、 二进制文件、数据记录文件、波形文件、测量文件和 TDM\TDMS文件。 其中,电子表格文件是一种特殊类型的文本文件;数据 记录文件中又包含一种被称为波形文件的文件格式。
(1)文本文件
(4)数据记录文件
一种二进制文件 它把数据组织为具有相同结构的记录,每一行为一个记 录,每个记录都具有相同的数据结构。LabVIEW把每
一个记录作为一个簇写入文件
。
(5)波形文件
波形文件是一种特殊的数据记录文件,它记录了波形数 据特有的一些信息,如波形的起始时间、采样的间隔时 间等。
文件I/O函数
没有专门用于存储数据记录文件的VI。 需要依靠基本分立函数来实现数据存储。 按以下流程存储数据记录文件:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LabVIEW中向Excel写入数据
这里只讨论通过Activex的方法,因为只有这种方法,才能完全发挥Excel的所有强大的功能。
首先,Labview是有一些自带的关于Excel编程的例子的。
在find example里search一下,有挺多的,其中有一个叫write table to XL.vi,我最早就是跟着它学的。
学了不少,也被误导了很久,其实也不能算误导,只是以前没花时间去研究。
最近在用Labview写一个类似ERP一样的软件,接触很多Excel表格,花了些功夫在Excel VBA上,也算比以前有了更多的认识了。
先来看看write table to XL这个程序:这个程序的目的就是把一个2维数组(表格)里的内容写到excel里。
从上图看,步骤大致是这样的,先打开excel,再打开一个workbook,然后打开worksheet,这实际上跟咱们使用excel的过程是一样的。
打开worksheet 以后,它还定义了行与列的header,最后才把table里的数据写到excel里。
那个cell value子vi,我是从开始就用它,也像这个例子一样,每次写都是套俩for loop,然后往excel里边猛写。
最近我才发现,原来有其他的方法,可以一次性写一个二维数组进去,非常快。
其实想想也是,不至于会那么傻了。
不过也怪VBA里太多的属性和方法,不容易找。
前边的打开excel workbook和worksheet我就不说了,例子里就有,可以新建一个workbook和sheet,也可以打开现有的,这个在excelexample.llb里都
能找到。
(excelexample在哪里?这个……,打开这些个VI,saveas一下就知道在哪里了,ok?)
接下来说一下这几天找到的几个方法和属性。
首先是Insert,插入行或者列(就像你在excel里右键插入一样,每次只能一行或者一列,要多行的话,只能多来几次了,是这样吧?)在说这个之前,先说下怎么找这些属性和方法,在Excel里,打开VB编辑器(工具-》宏-》VB 编辑器,excel2007是在菜单开发工具下,我用的是Excel2007),打开以后看VB语言参考,重点就是里边的方法和属性,对应在Labview里边的Property和Method节点。
help 里可以搜索,输入insert,可以看到很多,没办法,不熟悉只能一个一个看咯。
看到range.insert方法以后,去和Labview的比对一下。
可以看到这就是我们需要的方法了。
因为改方法是在Range下的,所以要先打开相应的range,才能用Insert,这就相当于我们在Excel里,需要在哪里插入一样的道理。
而Shift参数,看VBA里的描述,它是一个常量,是指定单元格的移动方向,点XLInsertShiftDirection就可以看到这个常量的数值,在这里我就不贴图了。
接下来讲最有成就感的发现,如何一次性读取或写入一定范围(若干行若干列)的数据?当然不能用cell.value来写了。
有的朋友可能已经发现了。
就是用Range Value来实现,这一点在VBA里没有写清楚,它给的例子还是相当于cell value一样,只是一个单元格的值,而实际上,应该是你指定的Range 里所有单元格的数值。
如上图,range方法包含两个参数cell1和cell2,所以range这个范围就是cell1到cell2的范围,比如B1到C5,这不就是一个2维数组了么?对,就是这样。
Range.value有两个,一个get,一个put,对应于读和写。
如果cell2不连,那么就是只有一个单元格的值,那么这时候出来的就不是2维数组,而是一个数,连2维数组上去就会出错了。
还有其他很多方法和属性,比如合并、拆分单元格,超链接,还有load,saveas之类的,这些都可以去参考VBA,再自己稍加研究,都是能找到的。
最后发句感叹,excel太强大了,下了个编程手册,100多M,晕!。