摘 要:介绍利用labview报告生成工具包生成包含数据、文本、表格、图表、图片以及vba宏的excel格式报告的3种方法,及通过activex自动化技术对报告生成工具包进行二次开发的过程。
关键词:labview;excel;报告;activex自动化
development of excel report generation function based on labview
wang cuiying, pei feng
(jiangxi electrical power testing and research institute, nanchang 33 0006, china)
abstract: three approaches were introduced to automatically crea te reports in microsoft excel, including data, text, table, graph, picture and v ba micro codes. it was also presented the process of secondary development for t he toolkit through activex automation technology.
key words: labview; excel; report; activex automation
1labview报告生成工具包简介
labview报告生成工具包通过activex技术将microsoft word和excel与labview集成开发环境结合起来,用于快速生成专业的报告,从而高效地表示出各种测试数据和结果。用户可以移植、修改现有的报告模板,并使用标准的labview功能,扩展该工具包的报告生成功能;通过运行由vba编写的宏代码还可以进一步自定义修改报告生成过程并自动生成报告。
labview报告生成工具包包含了3类vis(类似传统语言的函数或过程):①高级报告生成vis,用于新建报告和进行常规操作。②专门用于生成word格式的报告vis,其中包括了文档管理、查找、替换、编辑和格式化word中的图表、图片,通过编写vba代码自定义各种复杂的操作。③专门用于生成excel格式的报告vis,其除了能进行常规的excel操作外,还可以操作excel中的宏。
2excel格式报告功能开发
excel格式的报告功能开发主要使用了functionsreport 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 easytext.vi用于向工作表中添加文本和设置文本属性。参数start为文本区域左上脚的单元格,end为右下脚单元格,border值为ture,即显示文本框。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的显示窗口,方便用户浏览。
2.2利用excel模板输出报告
在microsoft excel中,可基于模板来新建工作簿。模板中可包含格式样式、标准的文本、公式、visual basic for applications宏和自定义工具栏等。使用模板可以减少输入的工作量、为复杂的报告制定标准格式、避免反复输入相同的信息或进行相同的格式修改,从而大大加快报告的生成速度。
用户可以事先定制模板以确定报告格式,然后运行labview应用程序将测量结果插入到模板中的占位符处,此外还可以进行简单的编程快速实现报告的显示、打印、保存等功能。下面的例子描述了利用excel模板输出报告的过程,框图程序见图2。
首先定制模板excel template.xls,定义工作薄中的4个名称,分别为date、time、temperature、data。current vi’s path、strip path、bu