基于LabVIEW的自动生成Excel报告功能开发1
王强鑫
北京邮电大学电信工程学院,北京 (100876)
E-mail:wang31572@sina
摘要:本文所研究的系统是在LabVIEW开发环境下,运用LabVIEW报告生成工具包,自动生成Excel报告,对从事测试数据处理软件设计者具有极高的参考价值。
关键词:LabVIEW,VI,Excel报告
中图分类号:TJ610.6
1. 引言
任何一个测试系统都涉及数据管理问题。数据管理是测试系统的一个基本功能,也是测试系统最重要的任务之一,它的作用在于组织数据,方便各类用户对数据的使用。从数据本身来讲,数据管理包括数据收集
、数据组织和数据提供等几个方面,随着网络和多媒体技术的发展,带来了数据管理形式和方法上的多样性。
测试数据管理是测试系统的一个重要功能,包括数据判别、整理、存储、读取、显示以及统计分析等,并自动生成测试报告,通过用户界面将各种测试数据提交给用户。
在很多现有的测试系统中,对数据和分析结果仍采用手工纪录或打印输出的方式,然后归档保存。这种管理方式的优点就是实现简单,基本不需要编写复杂的数据管理程序,系统开发工作量小。但从数据管理的角度看,这种管理方式存在明显不足,其缺陷是显而易见的,无法处理大量的数据、速度慢、易出错、效率低等。
LabVIEW中有一组功能强大、伸缩性强的文件处理工具。它们不仅可以读/写数据,完成测试数据的存储与回放功能,而且能够进行一些常见文件管理功能,如文件与目录的新建、复制、删除、移动、重命名等。
总之,测试数据管理涉及数据提交、数据存储、数据使用、数据安全管理等众多方面内容,必须借助科学合理的手段、工具,选取合适实用的方式、方案,实现对数据的有效管理,真正发挥测试数据和测试系统的作用 [1]。
2. 开发软件LabVIEW简介
LabVIEW(Laboratory Virtual Instrument Engineering Workbench, 实验室虚拟仪器工程平台)是美国NI公司(National Instrument Company)推出的一种基于G语言(Graphics Language, 图形化编程语言)的虚拟仪器软件开发工具。
LabVIEW软件开发平台的特点可归纳为[2]:
①图形化的编程方式,设计者无需写任何形式的文本各式的代码,是真正的工程师的语言。
②提供了丰富的数据采集、分析及存储的库函数。
③基提供了传统的程序调试手段,如设置断点、单步运行,同时提供有独到的高亮执行工具,是程序的调试和开发更为便捷。
④ 32bit的编译器编译生成32bit的编译程序,保证用户数据采集、测试和测量方案的高速执行。
1本课题得到高等学校博士学科点专项科研基金(项目编号:20020004020)的资助。
⑤囊括了DAQ、GPIB、PXI、VXI、RS-232/485在内的各种仪器通信总线标准的所有功能函数,使得不懂总线标准的开发者也能够驱动不同总线标准接口设备与仪器。
⑥提供大量与外部代码或软件进行连接的机制,诸如DLLs(动态连接库)、DEE(共享库)、ActiveX等。
⑦强大的Internet功能,支持常用网络协议,方便网络、远程测控仪器的开发。
本文的研究的Excel报告功能开发就是在LabVIEW中应用了ActiveX技术将Microsoft Word和Excel与LabVIEW集成开发环境结合起来,用于快速生成专业的报告,从而高效地表示出各种测试数据和结果。
3. Excel报告功能开发
3.1 LabVIEW报告生成工具包简介
在LabVIEW中开发自动生成Excel报告功能,需要安装LabVIEW报告生成工具包,在安装完成之后,会在LabVIEW中出现一个名为Excel Specific的子模板,如图1所示。
所有的用于生成Excel格式的VI集都在Excel Specific模板中。此时,用户就可以在LabVIEW中直接使用这些简易VI集了[3]。
图1 Excel Specific的子模板
Fig1 Excel Specific Template
用户可以移植、修改现有的报告模板,并使用标准的LabVIEW功能,扩展该工具包的报告生成功能;通过运行由VBA编写的宏代码还可以进一步自定义修改报告生成过程并自动生成报告。
LabVIEW报告生成工具包包含了3类VI集(类似传统语言的函数或过程):
①高级报告生成VI集,用于新建报告和进行常规操作。
②专门用于生成Word格式的报告VI集,其中包括了文档管理、查、替换、编辑和格式化Word中的图表、图片,通过编写VBA代码自定义各种复杂的操作。
excel自动生成排名③专门用于生成Excel格式的报告VI集,其除了能进行常规的Excel操作外,还可以操作Excel中的宏。
3.2 直接生成Excel格式报告
Excel格式的报告功能开发主要使用了Functions Report Generation Excel Specific VI 集函数模板中的Excel Easy Title.vi、Excel Easy Table.vi、Excel Easy Graph.vi3个简易VI集。
下面描述了使用简易VI集输出Excel文档报告的过程,框图程序见图2,运行结果是生成包含文本、表格、图表的报告[4]。
图2 框图程序
Fig2 Program
首先在LabVIEW的Functions Report Generation模板中选择New Report.vi,将其放置在框图程序中,设置report type属性为Excel,当程序运行时LabVlEW利用ActiveX技术调用Microsoft Excel自动化服务器,从而达到控制Excel工作薄与工作表生成过程的目的。为了加速报告的生成,Excel的初始窗口模式设置为minimized。Excel Easy Title.vi函数用于为Excel文档指定标题,通过给字符串变量Title赋值,可以自定义报告的标题内容。此外,还可以设置标题的字体、字号、下划线、颜等参数。Excel Easy Table.vi可以向报告中插入表格,程序中将二维字符数组Test Table赋值给Excel Easy Table.vi,并显示表头。
对于专业的自动化测试系统报告常常需要将大量的测量数据转化为意义明确的显示曲线或三维图形,在LabVIEW中可以轻松地实现。使用Excel Easy Graph.vi可以在Excel中插入几十种类型的图表,如柱形图、饼图、曲面图。示例程序中,设置图标类型属性chart type 为xlLine,即绘制折线图。为了控制图表的显示,报告生成工具包提供了ExcelSetGraphColors.vi用于外观的定制,如选择线宽、背景、前景等。在插入、更新或改变图表显示方式后,需要调用Excel Quit Graph.vi关闭数据表,以防止用户的误操作导致数据丢失。最后当完成了报告生成工作,调用Excel Bring to Front.vi来最大化Excel的显示窗口,方便用户浏览。
该框图的用户界面如图3所示,在用户界面中根据用户需要,可以自定义文件名和Excel 文档标题,Table控件中为需要输出的测试数据,用户可设定数据值也可自行导入测试数据。
图3 用户界面
Fig3 Front Panel
程序设计完成后,运行该程序,系统会自动输出Excel报告,如图4所示,按照用户自定义的Title显示文档白标题,按顺序显示测试数据表格和相应的折线图。
在本系统中,所有测试数据都存入Excel文件中,文件的存储路径由程序设定,文件名由用户指定,每次运行时都需重新设定文件名,以防发生冲突,本系统在实际应用中方便快捷,极大的提高了测试数据处理工作的效率。
图4 Excel报告
Fig4 Excel Report
4.结束语
本文从应用层面介绍了基于LabVIEW的自动生成Excel报告功能的设计,通过LabVIEW 平台并采用LabVIEW报告生成工具包开发的用户界面直接输出Excel报告。这样使得测试仪器控制系统建立在虚拟仪器技术的基础之上,完成自动测试功能,使得测试从一开始就建立在一个较高的技术基础上。同时LabVIEW软件平台的发展也为用户界面的设计提供了方便。该系统使用方便、界面良好,在实际应用中,效率和准确性都很高。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论