关于Labview里对excel的编程

2015-09-15 10:23:08来源: eefocus 关键字: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,再自己稍加研究,都是能找到的。

关键字:Labview  excel  编程

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2015/0915/article_13127.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:用LabVIEW Web服务器发布网页的两种方法
下一篇:LabVIEW2010完整安装及破解攻略

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
Labview
excel
编程

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved