LabVIEW中Excel报告生成功能开发

2012-03-23 16:26:53来源: 互联网 关键字:LabVIEW

LabVIEW中Excel报告生成功能开发

介绍利用LabVIEW报告生成工具包生成包含数据、文本、表格、图表、图片以及VBA宏的Excel格式报告的3种方法,及通过ActiveX自动化技术对报告生成工具包进行二次开发的过程。
  关键词:LabVIEW;Excel;报告;ActiveX自动化

  LabVIEW报告生成工具包通过ActiveX技术将Microsoft Word和Excel与LabVIEW集成开发环境结合起来,用于快速生成专业的报告,从而高效地表示出各种测试数据和结果。用户可以移植、修改现有的报告模板,并使用标准的LabVIEW功能,扩展该工具包的报告生成功能;通过运行由VBA编写的宏代码还可以进一步自定义修改报告生成过程并自动生成报告。
  LabVIEW报告生成工具包包含了3类VIs(类似传统语言的函数或过程):①高级报告生成VIs,用于新建报告和进行常规操作。②专门用于生成Word格式的报告VIs,其中包括了文档管理、查找、替换、编辑和格式化Word中的图表、图片,通过编写VBA代码自定义各种复杂的操作。③专门用于生成Excel格式的报告VIs,其除了能进行常规的Excel操作外,还可以操作Excel中的宏。
Report GenerationExcel Specific VIs函数模板中的Excel Easy Title.vi、Excel Easy Text.vi、Excel Easy Table.vi、ExcelEasy Graph.vi 4个简易VIs和General、Format、Graphs and Pictures、Advanced 4个函数子模板。
2.1直接输出Excel格式报告
  下面的例子描述了使用简易VIs输出Excel文档报告的过程,框图程序见图1,运行结果是生成包含文本、表格、图表的报告。
  首先新建一个Excel文档,为此在LabVIEW的FunctionsReport Generation模板中选择New Report.vi,将其放置在框图程序中,设置report type属性为Excel,当程序运行时LabVlEW利用ActiveX技术调用Microsoft Excel自动化服务器,从而达到控制Excel工作薄与工作表生成过程的目的。为了加速报告的生成,Excel的初始窗口模式设置为minimized。Excel Easy Title.vi函数用于为Excel文档指定标题,通过给字符串变量Title赋值,可以自定义报告的标题内容。此外,还可以设置标题的字体、字号、下划线、颜色等参数。Excel Easy Text.vi用于向工作表中添加文本和设置文本属性。参数start为文本区域左上脚的单元格,end为右下脚单元格,border值为Ture,即显示文本框。Excel Easy Table.vi可以向报告中插入表格,程序中将二维字符数组Test Table赋值给Excel Easy Table.vi,并显示表头。
?
  在Microsoft Excel中,可基于模板来新建工作簿。模板中可包含格式样式、标准的文本、公式、Visual Basic for Applications宏和自定义工具栏等。使用模板可以减少输入的工作量、为复杂的报告制定标准格式、避免反复输入相同的信息或进行相同的格式修改,从而大大加快报告的生成速度。
  用户可以事先定制模板以确定报告格式,然后运行LabVIEW应用程序将测量结果插入到模板中的占位符处,此外还可以进行简单的编程快速实现报告的显示、打印、保存等功能。下面的例子描述了利用Excel模板输出报告的过程,框图程序见图2。
  Visual Basic for Applications(简称VBA)是新一代标准宏语言,它为Office提供了多种功能,例如无模式用户窗体及对附加ActiveX控件的支持。VBA的项目(Project)可以由使用VBA的Excel、Word、PowerPoint等称为宿主的Office应用程序来调用。LabVlEW中用于执行VBA代码主要有两种方法:一种是在模板文件(.dot)中创建宏,一种是调用VBA模块文件(.bas)。
  有时候用户需要在Excel中做大量重复性的工作,这时候使用宏可能是最好的方法。宏实质是VBA编写的程序,用以自动完成所需任务。对于Excel97及以上版本,LabVIEW可以通过Excel Run Macro.vi来执行宏,并能向宏传递参数或取得宏的返回值。当在宏中调用另—个应用程序的对象时,通过Excel Add Reference to VBproj.vi可以获得该对象的引用,从而能够使用对象的属性和方法。
  有时为了便于程序维护,用户可以单独编写VBA,并将其保存在模块文件(.bas)中,需要时通过指定宏名进行调用,如图3。框图程序中,Append Numeric Table to Report.vi向报告中插入二维表格数据,然后使用Excel Import Module.vi导入外部VBA模块文件“C:\Test Mocro.bas”,Excel Run Macro.vi运行模块中定义的宏Process Data,Excel Remove Module.vi从Excel工作薄中移出模块,Print Report.vi打印Excel报告。
?
?
ActiveXAutomation Refnum模板中选择自动化引用控制量,将其 放置在前面板上,从对象列表中选择Microsofi Excel 11.0 Object Library 1.5(例子中使用的是Excel 2000),这样Excel的引用就添加到应用程序中,其对应的图标为 Excel.Application。为了简化访问自动化服务器的过程,LabVIEW在其FunctionCommunic ationActiveX模板中 提供了一组与ActiveX操作相关的子VI,其中Automation Open.vi打开引用,启动Excel自动 化服务器,并将引用传递给其他节点,如属性节点(Property Node) 、调用方法节点(Invoke Node)。程序中LabVIEW设置Excel窗口属性Window State为xlMinim ized,即将窗口最小化,接着调用ExecuteExcel4Macro方法,执行宏代码,再调用Quit方法 ,退出Excel应用程序,Automation Close.vi随即断开引用。运行程序,可以看到Excel启 动后,Windows任务栏上出现最小化后的Excel图标,执行预先定义的宏后自动退出Excel, 从而有效地避免了报告生成过程中用户的误操作。这里仅介绍了ActiveX函数模板的基本使 用,以及调用Excel过程的总体框架,用户可以根据实际需要进行扩充从而构建出自己的函 数库。

关键字:LabVIEW

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

上一篇:在LabVIEW中数据库建立与管理功能实现方法研究
下一篇:五相混合式步进电动机走步均匀性分析

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

小广播

独家专题更多

TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved