使用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键分割文本文件的目录,对你的右击,选择“重命名”,将你的文件以.lvm的后缀命名,即命名为filename.lvm。
7)使用读取测量文件的Express VI,在配置窗口的文件名栏,选择filename.lvm,可以将你的数值电子数据表读取到LabVIEW中。
使用读取电子表格的VI:
LabVIEW的读取电子表格文件的VI不能直接读取.xls的文件,只能读取分割文本文件。
如果是通过人工在读取电子表格的VI输入数据(不是使用LabVIEW的写入电子表格文件的VI)来创建的Excel电子数据表的话,该VI是无法很好地解读.xls文件的,而且将会向数组返回零值。必须将excel文件保存为分割文本文件,才可以在LabVIEW中正确地的将该 excel文件读取到数组中。这个过程可以参考上面的例子。现在将该txt文件的路径输入到读取电子表格的文件路径节点,该VI会将正确的数据填写到指定的数组中。如果只需要第一列的数据,可以将一个True值BOOL常量连接到“转置”接线端,则该VI“第一行”输出端将输出一个数组,该数组将保存有你所需要的第一列的数据。
微软的Word和Excel是创建报表的有力的标准软件套件。由于它们已被广泛使用,一些LabVIEW的使用者会使用LabVIEW的ActiveX接口来动态的控制这些文档处理软件,使用LabVIEW生成报表。然后,该ActiveX编程接口的复杂性,会给程序开发者开发应用程序带来不小的难度。为此,可以使用LabVIEW 的微软办公套件专用的报表生成工具包,这样就无需学习微软word和excel的复杂的对象模型就可以生成报表。报表生成工具包由一系列的灵活的、易用的VI 组成,使用户可以通过LabVIEW来创建和编辑微软Word和Excel报表。报表生成工具的产品介绍链接如下所示。
首先,Labview是有一些自带的关于Excel编程的例子的。用Labview写一个类似ERP一样的软件,接触很多Excel表格,花了些功夫在Excel VBA上,也算比以前有了更多的认识了。这个程序:这个程序的目的就是把一个2维数组(表格)里的内容写到excel里。步骤大致是这样的,先打开excel,再打开一个workbook,然后打开worksheet,这实际上跟咱们使用excel的过程是一样的。打开worksheet以
后,它还定义了行与列的header,最后才把table里的数据写到excel里。那个cell value子vi,我是从开始就用它,也像这个例子一样,每次写都是套俩for loop,然后往excel里边猛写。这样写是比较麻烦的,我们可以一次性写一个二维数组进去,非常快。方法是在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维数组上去就会出错了。
五、设计体会:
本系统的统计特点是方便labview使用者方便从Excel表格中获取数据,使LabVIEW的功能和Excel联合,使用起来更加人性智能些。扩展LabVIEW在工程上的应用提供了方向。
我们以前一直都接触的是C语言,汇编语言,VHDL语言,等等这些文字语言,说实话,第一次接触LabVIEW 语言,看到它的图形化的语言确实有一些惊奇,想不到编程语言如此复杂,竟然还有这么一种全部是图形编辑的程序编辑软件,真是对编程人员来说无疑是一大福音啊!于是,就下定决心学好它,因为它有好几点我们从来没有体会过的好处:第一,图形化的语言,只要你知道它的每一个图标和各种内置的函数是表达怎么样一个意思,你就会用它简单快捷的实现你所要实现的功能;第二,很多硬件的东西可以用LabVIEW的内置各种函数来代替,不仅大大节省了很多外部的各种电路元件,而且利用电脑的CPU高速处理系统,让我们面对更加复杂的控制任务时更加从容,而不是局限于单片机系统有限的处理速度和片内资源;第三,用户可以根据自己的需要定义和制造各种仪器,LabVIEW的强大之处正在于此,把各种的仪器都在电脑上虚拟化了,让我们的工作更加方便。
在制作设计的过程中,我们几人一起学习讨论,一起研究共同进退,我感觉自己的知识还是太有限了,还要继续学习,因为它对我们以后的学习和工作太有帮助了,因为它给人一种“电脑在手,使用不愁”的感觉。课程虽然学完了,但我们对于这门课的学习才刚刚起步,真心希望我们能够在这方面能有更深的造诣!
六、参考文献:
[1] 阮奇桢. 我和LabVIEW——一个NI工程师的十年编程经验[M], 北京航空航天大学出版社,2009.09.
excel从入门到精通百度云[2] 崔良沂、赵永昌. 人工智能[M], 第3 版清华大学出版社.2005.9
[3] NI.Measurement and Automation Catalog[Z], 2003.9
[4] LabVIEW8.20程序设计从入门到精通.清华大学出版.2007.7
七、附录(源程序见电子档):
前面板没运行时
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论