labview中向excel写入数据.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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,晕!

文档评论(0)

LF20190802 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档