005.在LabwindowsCVI中调用Excel的几种方法

合集下载

LabWindows_CVI下基于Excel的测试控制技术_吴松龄

LabWindows_CVI下基于Excel的测试控制技术_吴松龄

ULL,MyCellRangeV,CA_DEFAULT_VAL,
&ExcelRangeHandle);
CA_VariantClear(&MyCellRangeV);
// Make range Active
Excel_RangeActivate (ExcelRangeHandle,
&ErrorInfo, NULL);
2 工程实现 2.1 软件总体设计 基于虚拟仪器的测控程序设计采用面向对象的 程序设计思想。在虚拟仪器系统中,硬件只是为了 解决信号的输入输出,软件才是整个仪器系统的关 键,任何一个使用者都可以通过修改软件的方法, 很方便地改变、增减系统的功能与规模,所以有 “软件就是仪器”之说。一般虚拟仪器系统包含用 户界面、程序控制、数据采集以及数据分析[4]。 整个软件设计过程中采用面向对象的程序设计 思想和模块化的程序结构,实现了数据处理和测试 流程分离。数据信息包括测试配置参数和测试结果 数据,测试流程的执行就是读取Excel文件中的配置 数据,配置测试仪器,进行相应的测试控制、数据 采集、分析和计算,并把结果回送到测试结果中。 整个软件主要包括测试系统主程序模块、单项测试 模块、测试流程数据库等部分,软件层次架构图如 图1所示。 在进入测试项目时,首先读取相应Excel文件的 内容,将测试流程和相关参数显示到测试界面的流 程表中,每执行一步流程,主动获取控制参数,执 行完毕后将测试的结果再写入到流程表中,全部流 程结束后将测试结果保存为Excel格式的结果文件。 图1 软件层次架构图(参见右栏)
// Get Active Workbook Sheets Excel_GetProperty(ExcelAppHandle,NULL,
E x c e l _ A p p S h e e t s , C AV T _ O B J H A N D L E , &ExcelSheetsHandle);

Visual Basic调用Excel之技巧

Visual Basic调用Excel之技巧

]Visual Basic调用Excel之技巧Visual Basic(以下简称VB)是一套可视化、面向对象、事件驱动方式的结构化程序设计语言,已经成为许多程序设计者甚至专业程序员用来开发WINDOWS应用程序的首选开发工具。

但用过VB的程序设计人员都知道,要想用VB输出复杂的表格来,是十分困难的。

能不能用VB调用EXCEL呢?Active 技术标准为我们解决了这个问题。

最近笔者为单位开发“土工试验数据整理”的某个模块时,涉及到复杂数据表格的输出问题,经过笔者的摸索,用VB调用EXCEL,取得了很好的效果。

本文从编程实践的角度对使用VB控制EXCEL的技术作简要说明。

1 EXCEL的对象模型如果一个应用程序支持自动化技术,那么其它的应用就可以通过其暴露的对象,对它进行控制,控制程序称为客户机,而被控制的一方就称为服务器,被控制的对象就是Active对象。

VB正是通过EXCEL显露的各级对象来控制EXCEL工作的。

每个对象都有各自的方法和属性,通过方法可以实现对对象的控制,而属性则可以改变对象的各种状态。

理解EXCEL的对象模型是对其编程的基础。

EXCEL是以层次结构组织对象的,其对象模型中含有许多不同的对象元素,这些对象元素就是VB可以操纵的。

在EXCEL对象的层次结构中,最顶层是Application对象,是Excel本身。

从该对象开始往下依次是:.workbooks对象集,是Application对象的下层,其指的是Excel的工作簿文件。

.worksheets对象集,是Workbooks对象集的下层,它表示的是Excel的一个工作表。

.Cells和Range对象,它们是worksheets对象的下层,它则指向Excel工作表中的一个或多个单元格。

以上介绍的四个对象是Excel中最重要也是用得最多的对象,而且从上面的介绍中也不难看出,要控制Excel中的某个具体对象,如某个工作簿中某一表格中的单元格,就必须从Excel层次结构对象的最上层即Application对象开始遍历。

LabWindows/CVI中基于ActiveX技术的Excel访问

LabWindows/CVI中基于ActiveX技术的Excel访问

Ib n 0 sC I N t n nt met 司 的 软 件 产 品 , 丑 Wjdw, V 是 ao a I r n / il s u s公
指 向可用方 法列表 的指针组成 , 每个方 法有对应 的 I D号码 , 称
为 DSI 当获 得 某 方 法 的 DSI 之 后 , 可 以通 过 调用 IPD。 IPD 就
Ac e sng t c lBa e n tv X c o o y i b i o /CVI c si o Ex e s d o Ac i e Te hn l g n La W nd ws
CHEN n - ,L U a - n ,W ANG in mi Yi gl I F n mig i Ja - n
摘要 : 实际工程为背景 , 绍了在 I b no s C I 以 介 丑 widw / V 环境 下 , 于 A te 基 cvX技 术访 问 Mi oot xe 03的方法 , i c sfE cl 0 r 2 以及创建
自动 化 仪 器驱 动 器 的 方 法 。详 细 阐述 了访 问 E cl 体 函 数 的 使 用 方 法 , xe 具 实现 了对 E cl 访 问 。通 过 该 工 程 实例 , 明 xe 的 说
具。
E cl xe是一种 常用 、 方便 的数据记 录格式 , 需要记 录数据 在
的某些场合中 , E cl 以 xe 格式记 录的数据 便 于后 续查看 与处理 。
本文介绍了在 Lb n o sC I中利用 A t e aWidw/ V ci X技 术进行 E cl v xe
2 L b n o sC I A t e a Wid w/ V 对 cvX技术 的支持 i
( as eN vgt nlb , ol eo uo a o , abnE gneigU iesy H ri 5 0 1 C ia P si aiao a .C lg f tm tn H ri n ier nvri , abn10 0 , hn) v i e A i n t

LabVIEW与Excel的通信方法

LabVIEW与Excel的通信方法

《自动化仪表》第27卷第4期 2006年4月Lab V I E W 与Excel 的通信方法Com m un i ca ti o n M e tho d be t w e e n LabV I E W and Exce l陈金平 王生泽 吴文英(东华大学机械工程学院,上海 200051)摘 要:在虚拟仪器开发过程中,需要将一些多路采集数据存储在Excel 表格中。

LabV IE W ,而LabV I E W 中的DDE 是W indows 操作系统中的一种基于消息的协议。

利用LabV IE W 的DDE 功能可以很好地实现LabV I E W 与Excel的数据通信。

通过具体例子叙述了LabV I E W 的DDE 功能,这种功能使得LabV IE W 与Excel 的数据交换方便快捷,实现方法简单明了,实践表明DDE 是增强LabV I E W 整体功能的一条有效途径。

关键词:虚拟仪器 通信 动态数据交换中图分类号:TP311.13 文献标识码:AAbstract:In the p rocess of devel op ing virtual instrument,s ome collected data fr om multi 2path need t o be stored in Excel table .LabV I E W is a convenient and flexible development envir onment f or virtual instrument,while DDE is a message 2based p rot ocol in W indows operational system.The data communication bet ween LabV IE W and Excel is well fulfilled by using DDE .The DDE functi on is described by certain examp les .It is said that data exchanging bet w een LabV IE W and Excel is convenient,fast and easy t o be fulfilled .The p ractice shows that DDE is an efficient way t o enhance LabV IE W integrated function .Keywords:V irtual instrument Communication Dynam ic data exchange0 引言LabV IE W 是一种方便灵活的虚拟仪器开发环境。

Matlab中使用Excel数据

Matlab中使用Excel数据

Matlab中使用Excel資料收藏% Open Excel, add workbook, change active worksheet,% get/put array, save, and close% First open an Excel Server%打開一個Excel操作物件Excel = actxserver('Excel.Application');%使Excel物件可見,即打開Excel視窗,實際應用時設置其為不可見的set(Excel, 'Visible', 1);% Insert a new workbook%創建工作本組物件Workbooks = Excel.Workbooks;%添加一個工作本Workbook = invoke(Workbooks, 'Add');% Make the second sheet active%獲取當前活躍工作本的表單組,一個工作本共有3個表單(sheets)Sheets = Excel.ActiveWorkBook.Sheets;%獲取表單組中的一個表單sheet2 = get(Sheets, 'Item', 2);%啟動該表單invoke(sheet2, 'Activate');% Get a handle to the active sheet%獲取當前活躍表單的控制碼Activesheet = Excel.Activesheet;% Put a MATLAB array into Excel%向表單中寫入資料A = [1 2; 3 4];%設置寫到Excel中的範圍ActivesheetRange = get(Activesheet,'Range','A1:B2');%寫入set(ActivesheetRange, 'Value', A);% Get back a range. It will be a cell array,% since the cell range can% contain different types of data.%讀會資料塊Range = get(Activesheet, 'Range', 'A1:B2');%獲取資料B = Range.value;% Convert to a double matrix. The cell array must contain only scalars.%B現在是符合矩陣,將其轉換成數值矩陣B = reshape([B{:}], size(B));% Now save the workbook%保存檔,可以寫絕對路徑,相對路徑總是保存在我的文件中invoke(Workbook, 'SaveAs', 'myfile.xls');% To avoid saving the workbook and being prompted to do so,% uncomment the following code.% Workbook.Saved = 1;% invoke(Workbook, 'Close');% Quit Excel%退出Excelinvoke(Excel, 'Quit');% End process%結束Excel進程delete(Excel);function UserRange = ExcelRangeCalculate(data,begin)% 計算資料矩陣所佔用的儲存格範圍% UserRange = ExcelRangeCalculate(data,begin) 輸入參數data用來指定要寫入的% 資料矩陣,begin用來指定寫入的初始位置(左上角位置)。

LabWindowsCVI中调用Excel

LabWindowsCVI中调用Excel

LabWindows/CVI中调用Excel设计要求:1.启动Microsoft Excel并打开xls文件;2.向xls文件中写入数据;3.根据所填入的数据完成画图功能;4.Xls具有存盘,关闭等功能;5.关闭Microsoft Excel。

利用ActiveX技术进行Excel访问。

ActiveX技术以微软的COM技术为基础,也称之为ActiveX自动化。

ActiveX是一种软件组件,它可以插入到不同的应用程序中,并被当作程序的一部分来使用。

利用ActiveX可以把两个或两个以上的应用程序组合在一起,使其像应用程序一样工作,或者可以在同一应用程序外壳中进行不同应用程序间的切换。

生成自动化仪器驱动器在LabWindows/CVI的工程主窗口中选择Tool/Create ActiveXController,弹出ActiveX Controller Wizard对话框,点击Next进入自动化服务器选择对话框,如图1所示。

选择Microsoft Excel 12.0 Object Library,点击Next进入服务器配置对话框,如图所示。

ActiveX Server 表示已选中的ActiveX服务器名称,Instnmmnt Prefix表示生成驱动器的前缀,可以设置为空或键人有效的C语言标识符,若不输入任何字符,系统会默认产生一个有效的文件名,一般情况下不用修改此属性。

Target.fp File表示CVI产生的.fp文件在磁盘中的存储路径,点击Browse可以查找或定位一个.fp文件。

将Add.fp File To Project选中表示允许把所产生的.fp文件加入当前工程中。

点击Compatibility Options进入兼容选项对话框,通过该对话框选项可以保持所产生的代码源文件与已经存在的ActiveX仪器驱动的向后兼容性,系统默认为Per Property。

点击Next进入高级选项对话框,在高级选项对话框中,点击Advanced Option 将显示高级函数配置对话框,可以通过此对话框来增减ActiveX对象及修改对象的名称和标识符,高级函数一般采用默认配置即可。

Lab+Windows_CVI中基于ActiveX技术的Excel访问

Lab+Windows_CVI中基于ActiveX技术的Excel访问
CA_DiseardObjHandle(RangeHandlc);//释放句柄 sprinff(RangeString,”B%d:BE%d”,lOW,lOw);
∥指定输入数据的单元格范围,为连续范围单元格 CA_VariantSetCString(&vRange,RangeString); //将字符串数
Excel是一种常用、方便的数据记录格式,在需要记录数据 的某些场合中,以Excel格式记录的数据便于后续查看与处理。 本文介绍了在I址wind删s/CⅥ中利用ActiveX技术进行Excel 访问的实现方法,并结合某实际工程,给出了主要程序代码及其 说明。
1 ActiveX技术
ActiveX是一种软件组件,它可以插入到不同的应用程序 中,并被当作程序的一部分来使用。利用ActiveX可以把两个 或两个以上的应用程序组合在一起,使其像应用程序一样工作, 或者可以在同一应用程序外壳中进行不同应用程序间的切 换It】。
Accessing to Excel Based on ActiveX Technology in LabWindows/CVI
CHEN Ying—li,LIU Fan—ming,WANG Jian-min
(Passive Navi-sation Lab.,College of Automation,Harbin Engineering University,Harbin 150001。China)
Abstract:The approach of accessing to Microsoft Excel 2003 baaed on ActiveX technology in LabWindows/CVI environment is in· treduced,in sequence,the establishments of driving∞heme for automatic instruments are presented in detail.To realize the acceBs to Excel.the operations of accessing to the real functions are intensively illustrated鹊well.The experiments in the real environment demonstrate that this method illustrated here is of great value for practical applications. Key words:LabWindows/CVI;ActiveX;Excel

LabVIEW的ActiveX实验--调用excel(精)

LabVIEW的ActiveX实验--调用excel(精)

一台 一套
3.Excel
4.PowerPoint
一套
一套
实验原理
LabVIEW提供了强大的外部程序接口,包括DLL、CIN、ActiveX、 Matlab等。通过DLL,可以方便调用C、VC、VB等编程语言及 Windows自带的API函数;通过ActiveX,方便调用外部程序、控件 等。
利用LabVIEW调用Excel和PowerPoint提供的ActiveX来操作Excel 和PowerPoint
实验步骤1--调用Excel
实验步骤1--调用Excel
实验步骤1--调用ExcelHale Waihona Puke 实验步骤1--调用Excel
实验步骤1--调用Excel
程序最终的运行结 果如。程序在指定的单 元格内写入指定的内容。 该Excel没有被保存,用 户可以增加新的属性节 点或者方法节点实现对 Excel的保存。
LabVIEW培训
团队:晏 凯 韩 君 肖迎春 张胜宇
LabVIEW的ActiveX实验
实验目的 实验器材 实验原理 实验步骤
实验目的

1.了解LabVIEW的外部程序接口 2.掌握在LabVIEW中调用ActiveX的方法

实验器材
1.计算机 2.LABVIEW2013软件
实验任务
1.按照介绍的“调用Excel”方法,调用Excel,并添加Excel保存程序。 参考前面板如下图:
THANK YOU FOR WATCHING
实验步骤1--调用Excel
(1)在函数面板→互连接口→ActiveX,选择“打 开自动化”,将其放在程序框图的合适位置。 (2)在“打开自动化”上单击鼠标右键,在弹出 的菜单中选择“选择ActiveX类→浏览”,出现 如图4-2所示的对话框,从类型库中选择 Microsoft Excel 11.0 Object Library Version 1.5,在对象框中,选择仅显示可创建的对象,然 后选择Application(Excel.Application.11), 单击“确定”,就可以完成Automation Refnum控件与Excel Application的连接。

LabVIEW的ActiveX实验--调用excel(精)

LabVIEW的ActiveX实验--调用excel(精)

一台 一套
3.Excel
4.PowerPoint
一套
一套
实验原理
LabVIEW提供了强大的外部程序接口,包括DLL、CIN、ActiveX、 Matlab等。通过DLL,可以方便调用C、VC、VB等编程语言及 Windows自带的API函数;通过ActiveX,方便调用外部程序、控件 等。
利用LabVIEW调用Excel和PowerPoint提供的ActiveX来操作Excel 和PowerPoint
实验任务
1.按照介绍的“调用Excel”方法,调用Excel,并添加Excel保存程序。 参考前面板如下图:
THANK YOU FOR WATCHING
实验步骤1--调用Excel
(1)在函数面板→互连接口→ActiveX,选择“打 开自动化”,将其放在程序框图的合适位置。 (2)在“打开自动化”上单击鼠标右键,在弹出 的菜单中选择“选择ActiveX类→浏览”,出现 如图4-2所示的对话框,从类型库中选择 Microsoft Excel 11.0 Object Library Version 1.5,在对象框中,选择仅显示可创建的对象,然 后选择Application(Excel.Application.11), 单击“确定”,就可以完成Automation Refnum控件与Excel Application的连接。
LabVIEW培训
团队:晏 凯 韩 君 肖迎春 张胜宇
LabVIEW的ActiveX实验
实验目的 实验器材 实验原理 实验步骤
实验目的

1.了解LabVIEW的外部程序接口 2.掌握在LabVIEW中调用ActiveX的方法

实验器材
1.计算机 2.LABVIEW2013软件

在LabWindows_CVI中输出EXCEL报表

在LabWindows_CVI中输出EXCEL报表

在LabWindows/CVI中输出EXCEL报表LABWINDOWS作为测控领域的优秀开发平台,对于具有C语言基础的人员来说使用特别方便。

有时我们可能需要CVI输出数据文件并且打印报表,我现在简单介绍一下CVI输出EXCEL报表的一种方法,也可能某些地方不专业,仅供参考,并不是说只能这么实现。

1、按要求用EXCEL做好报表模板存储成普通EXCEL文件格式,2000或2003都可以。

2、打开CVI,按照正常方法设计用户操作界面,当然界面上至少要有“打开EXCEL程序”或“传递数据到EXCEL“等按钮,生成C源程序框架。

3、工程中添加excel2000.fp,excelreport.fp 位于...CVI90\toolslib\activex\excel目录下,4、“打开EXCEL程序”按钮的回调函数的编写——重要!int CVICALLBACK LaunchExcelCB (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){char ExcelFileName[MAX_PATHNAME_LEN]={0};switch (event){case EVENT_COMMIT:SetWaitCursor (1);LaunchError=ExcelRpt_ApplicationNew(1, &applicationHandle);SetWaitCursor (0);if (LaunchError<0){MessagePopup ("自动启动Excel错误:", "通过自动接口试图启动Excel发生错误。

");break;//退出程序。

}GetProjectDir (ExcelFileName); //得到Project当前目录名,(将第一步中的模板*****.xls文件copy到工程文件目录下)strcat(ExcelFileName, "\\*****.xls");//字符串连接ExcelRpt_WorkbookOpen (applicationHandle, ExcelFileName, &workbookHandle);//打开该路经下的EXCEL文件ExcelRpt_GetWorksheetFromIndex (workbookHandle, 1, &worksheetHandle);ExcelRpt_ActivateWorksheet (worksheetHandle); //激活该句柄的电子表格sheetbreak;}return 0;}当然程序开头处要声明,目标句柄。

在LabWindows_CVI中输出EXCEL报表

在LabWindows_CVI中输出EXCEL报表

在LabWindows/CVI中输出EXCEL报表LABWINDOWS作为测控领域的优秀开发平台,对于具有C语言基础的人员来说使用特别方便。

有时我们可能需要CVI输出数据文件并且打印报表,我现在简单介绍一下CVI输出EXCEL报表的一种方法,也可能某些地方不专业,仅供参考,并不是说只能这么实现。

1、按要求用EXCEL做好报表模板存储成普通EXCEL文件格式,2000或2003都可以。

2、打开CVI,按照正常方法设计用户操作界面,当然界面上至少要有“打开EXCEL程序”或“传递数据到EXCEL“等按钮,生成C源程序框架。

3、工程中添加excel2000.fp,excelreport.fp 位于...CVI90\toolslib\activex\excel目录下,4、“打开EXCEL程序”按钮的回调函数的编写——重要!int CVICALLBACK LaunchExcelCB (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){char ExcelFileName[MAX_PATHNAME_LEN]={0};switch (event){case EVENT_COMMIT:SetWaitCursor (1);LaunchError=ExcelRpt_ApplicationNew(1, &applicationHandle);SetWaitCursor (0);if (LaunchError<0){MessagePopup ("自动启动Excel错误:", "通过自动接口试图启动Excel发生错误。

");break;//退出程序。

}GetProjectDir (ExcelFileName); //得到Project当前目录名,(将第一步中的模板*****.xls文件copy到工程文件目录下)strcat(ExcelFileName, "\\*****.xls");//字符串连接ExcelRpt_WorkbookOpen (applicationHandle, ExcelFileName, &workbookHandle);//打开该路经下的EXCEL文件ExcelRpt_GetWorksheetFromIndex (workbookHandle, 1, &worksheetHandle);ExcelRpt_ActivateWorksheet (worksheetHandle); //激活该句柄的电子表格sheetbreak;}return 0;}当然程序开头处要声明,目标句柄。

matlab读取excel文件的方法

matlab读取excel文件的方法

matlab读取excel文件的方法matlab读取excel文件的方法在Excel中录入好数据以后,或许要用到matlab提取Excel的功能,具体该如何提取呢?接下来是店铺为大家带来的matlab读取excel 文件的方法,供大家参考。

matlab读取excel文件的方法:matlab读取Excel步骤1:读取sheet1中的所有数据我们以03版excel为例,假设excel中数据为matlab读取Excel步骤2:默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,这里我所有的数据都在example.xls中。

输入以上命令,回车matlab读取Excel步骤3:NUM返回的是excel中的数据,TXT 输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。

一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。

matlab读取Excel步骤4:读取指定sheet中的数据假如我们想读取第二个sheet中的数据,这里请注意:matlab读取excel中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在第二位,我们输入命令[NUM]=xlsread('example',2),回车结果如下:matlab读取Excel步骤5:读取指定单元格中的数据以sheet2中的数据为例matlab读取Excel步骤6:假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('example',2,'A3:D7'),回车,结果如下:。

使用LabVIEW读取微软Excel的数值数据方法

使用LabVIEW读取微软Excel的数值数据方法

使用LabVIEW读取微软Excel的数值数据方法问题:如何在LabVIEW 中读取微软Excel 电子数据表中的数值数据?解答: 使用读取测量文件的Express VI:你可以使用读取测量文件的Express VI 从Excel 电子数据表中将数值数据读取到LabVIEW 中,整个过程由以下两个步骤组成:首先将你的Excel 电子数据表另存为以Tab 键分割的文本文件;然后,将*.txt 文件重命名为*.lvm 文件。

使用读取测量文件的Express VI 就可以将数值数据读取到LabVIEW 中。

你可以参照以下的步骤:打开包含了基本的数值信息的Excel 电子数据表。

将你的Excel 电子数据表另存为以Tab 键分割的文本文件。

单击确定。

需要注意的是,你保存的只是活动工作表的数值数据。

单击是。

关闭你的Excel 文档。

导航到你先前保存Tab 键分割文本文件的目录,对你的filename.txt 右击,选择重命名,将你的文件以.lvm 的后缀命名,即命名为filename.lvm。

使用读取测量文件的Express VI,在配置窗口的文件名栏,选择filename.lvm,可以将你的数值电子数据表读取到LabVIEW 中。

导航到你先前保存Tab 键分割文本文件的目录,对你的filename.txt 右击,选择重命名,将你的文件以.lvm 的后缀命名,即命名为filename.lvm。

使用读取电子表格的VI:LabVIEW 的读取电子表格文件的VI 不能直接读取.xls 的文件,只能读取分割文本文件。

如果你是通过人工在读取电子表格的VI 输入数据(不是使用LabVIEW 的写入电子表格文件的VI)来创建你的Excel 电子数据表的话,该VI 是无法很好地解读你的.xls 文件的,而且将会向你的数组返回零值。

你必须将你的excel 文件保存为分割文本文件,才可以在你的LabVIEW 中正确地的将该excel 文件读取到你的数组中。

微软Excel的报表生成与LabWindows CVI的

微软Excel的报表生成与LabWindows CVI的

微软Excel的报表生成与LabWindows / CVI的概观关于微软的Excel报表生成使用LabWindows / CVI的Excel报表库本文会谈。

在LabWindows / CVI的这个库的船舶,并简化了创建专业外观与LabWindows / CVI 的Excel报表的过程。

目录1.启动Microsoft Excel中2.写入数据到Microsoft Excel文件使用Excel报告3.添加到Microsoft Excel的图表报告Microsoft Excel是一个用于显示和可视化数据集伟大的工具。

它提供了能够使用工作表和组织数据显示和分析通过自定义的图表数据。

这些功能和许多其他使Excel作为报表工具受欢迎。

结合Excel的报表功能的分析和LabWindows / CVI的数据采集库提供了一个强大的组合。

本文将讨论如何操作Microsoft Excel中使用的LabWindows / CVI的Excel报表生成的专业图书馆,看报告。

它不会覆盖所有不同的Excel功能或全部的职能,在LabWindows /简历库可用Excel报告。

其目的是介绍Excel报表库和函数库中可用来简化与创建Excel报表的过程。

介绍到Excel报告库微软Excel提供了一种方法为开发人员通过编程控制的ActiveX接口的所有功能。

使用此ActiveX界面要求用户必须使用Excel和ActiveX自动化类层次熟悉。

这也要求用户必须使用ActiveX自动化熟悉。

为了简化开发,LabWindows / CVI的报告提供了一个Excel的库,简化了通过其自动化的ActiveX接口Excel 的过程。

该库提供了更高层次的功能,以简化数据写入Excel和使用该数据来创建图表的过程,但如果你需要在你的Excel报表更多的自定义,您将需要使用Excel的ActiveX接口直接。

我们将不使用本文件讨论了Excel的ActiveX对象库直接。

LabVIEW与Excel连接

LabVIEW与Excel连接

创建一个新的Excel表
创建一个新的Excel表
打开一个现有的Excel表
1. 利用LabVIEW打开Excel表 (1)在函数面板→互连接口→ActiveX,选择“打开自动 化”,将其放在程序框图的合适位置。 (2)在“打开自动化”上单击鼠标右键,在弹出的菜单中选 择“选择ActiveX类”→”Excel._Application” ,完 成Automation Refnum控件与Excel Application的 连接。 (3)创建→Excel._Application类属性→Workbooks,放置 在合适位置.创建→Excel._Application类属性 →Visible,将鼠标放在Visible上,右击,选择“转为 写入”。通过Visible属性打开Excel程序界面。
打开一个现有的Excel表
程序图
打开一个现有的Excel表
运行结果
打开一个现有的Excel表
2. 在Labviel表
程序图
打开一个现有的Excel表
运行结果
修改指定单元格的内容
前面板:
修改指定单元格的内容
程序面板:
背景介绍
LabVIEW中的 ActiveX Controls子模板提供的控制 型控件包括:ActiveX容器( container ) 、 变体数据 类型( variant) 、 自动化引用句柄 (automation refnum) 。 LabVIEW的功能模板中含有 ActiveX子模板,子模板 中包含用作与 ActiveX服务器相连的自动化节点函数, 其中包括:打开自动化( Automation Open) 、关闭 引用(Automation Close)、调用节点 (Invoke Node) 、属性节点( Property Node) 、变体至数据 转换

在LabVIEW中利用ActiveX读取Excel数据

在LabVIEW中利用ActiveX读取Excel数据

在LabVIEW中利用ActiveX读取Excel数据网络上有很多关于读取Excel的例子,但一直没有找到读取文件中整sheet的数据,所以在这里介绍一下在LabVIEW中利用ActiveX读取文件中整张表格的内容.LabVIEW中利用ActiveX打开Excel分Open Application, Open Workbook & Open Worksheet 三个步骤,以下详细描述实现方法:1. 前面板中放下'自动化引用句柄': 引用句柄>>自动化引用句柄;2. 前面板中右击'自动化引用句柄',在'选择ActiveX类'下选择'Excel._Application'此时'自动化引用句柄'的名称会更新'Excel._Application';3. 程序框图中放下'打开自动化': 右击'Excel._Application'>>'ActiveX选板'>>'打开自动化';4. 将'Excel._Application'连线至'打开自动化'的左侧自动化引用句柄端;5. 程序框图中放下'属性节点';<同步骤3>6. 将'打开自动化'的右侧自动化引用句柄端连线至'属性节点'的引用端;7. 单击'属性节点'的属性,在下拉列表中选择'Workbooks';8. 程序框图中放下'调用节点';<同步骤3>9. 将步骤7中的'Workbooks'连线至'调用节点'的引用端;10. 单击'调用节点'的方法,在下拉列表中选择'Open';11. 在'Open'的'Filename'输入端连接所需打开Excel文件的路径;12. 同步骤5,放下'属性节点',其引用端连接'Open',然后单击'属性节点'的属性,在下拉列表中选择'Worksheets';13. 同步骤8,放下'调用节点',其引用端连接'Worksheets',然后单击'调用节点'的方法,在下拉列表中选择'Item';14. 在'Item'的'Index'输入端创建'输入控件',此'输入控件'代表Excel中的sheet#;<例如需要打开文件中的sheet2,可直接连接num 2至'Index'输入端>15. 程序框图中放下'变体至数据转换'<同步骤3>,将其变体端连接至'Item';16. 同步骤1,在前面板中再次放下'自动化引用句柄',然后如步骤2方式在'选择ActiveX 类'下选择'Excel._Worksheet';17. 程序框图中,将'Excel._Worksheet'连线至'变体至数据转换'的类型端;18. 同步骤5,放下'属性节点',其引用端连接'变体至数据转换'的数据端,然后单击'属性节点'的属性,在下拉列表中选择'UsedRange';19. 同步骤8,放下'调用节点',其引用端连接'UsedRange',然后单击'调用节点'的方法,在下拉列表中选择'Value<获取>';20. 同步骤15,放下'变体至数据转换',其变体端连接至'Value';21. 只要在'变体至数据转换'的类型端连接一个二维的字符型数组常量,就可以在数据端获取表格中的数据了;<连贯的程序如下>22. 程序的最后需要Close Application, Close Workbooks & Close Worksheets来关闭调用;[]实例应用在写一个数据整理工具中用到的事例: Data的文件类型可以是.csv 或者.xls,其中.csv file可以通过LabVIEW中的'读取电子表格文件'工具直接读取,而.xls则需要用到Read Excel子VI来实现.实例框图如下:[前面板][程序框图][]结束1 / 1。

MATLAB访问excel

MATLAB访问excel

MATLAB访问excelMATLAB作为自动化客户端调用Excel服务器编程项目中最后的功能——打印报告,最终确定使用ActiveX方式访问office,这个应该称之为OLE(对象链接与嵌入)方法。

通过MATLAB 调用Excel服务器,可以完成一些非数据对象的交互,比如图片。

在这里演示一下MATLAB与Excel交互的整体过程,当然这里不是报告的内容,这个属于项目的资料了。

这里通过简单的图片来表示,实际要做的时候,步骤和这个基本一致,只是过程麻烦些,每一个图片都要调整,然后数据内容调整,单元格格式等等:先看一下示意的效果:通过sheet类句柄的Range方法建立Range类句柄,通过其PasteSpecial方法将粘贴板内容粘贴至excel工作簿由Range类句柄选中的单元,比如A1:sheetItem.Range('A1').PasteSpecial;然后每一个figure的位置等属性,可以继续修饰:hshape = sheetItem.Shapes;hs1 = Item(hshape, 1);hs1.IncrementLeft(358.5);hs1.IncrementTop(157.5);hs1.Placement = 'xlFreeFloating';上面的语句即完成将figure1右移和下移,并且设置不随单元格大小变化而改变。

4.保存退出通过Workbooks类的SaveAs方法存储工作簿,通过excel类的quit属性退出COM服务器。

hw.SaveAs([he.DefaultFilePath '\示意.xls']);he.Quit;上面就是通过MATLAB访问Excel服务器的整个过程,图片中文件的生成代码如下:复制内容到剪贴板代码:%% A COM Utilization% $Author: lskyp%% Interface between MATLAB & Excel% Create COM serverhe = actxserver('Excel.Application');he.DefaultFilePath = 'd:\Program Files\MATLAB\R2009a\work\报告'; he.Visible = 1;% Create workbook & sheethw = he.Workbooks.Add;hs = hw.Worksheets;sheetItem = hs.Item(1);%% Generate figure and copy% PlotPlotAFig;hgexport(gcf, '-clipboard');sheetItem.Range('A1').PasteSpecial;PlotAFig;hgexport(gcf, '-clipboard');sheetItem.Range('A1').PasteSpecial;PlotAFig;hgexport(gcf, '-clipboard');sheetItem.Range('A1').PasteSpecial;close all% Modify the Position of Each Figurehshape = sheetItem.Shapes;hs1 = Item(hshape, 1);hs1.IncrementLeft(100);hs1.IncrementTop(20);hs1.Placement = 'xlFreeFloating';hs1 = Item(hshape, 2);hs1.IncrementLeft(100);hs1.IncrementTop(320);hs1.Placement = 'xlFreeFloating';hs1 = Item(hshape, 3);hs1.IncrementLeft(100);hs1.IncrementTop(620);%% save workbookhw.SaveAs([he.DefaultFilePath '\演示.xlsx']); he.Quit;he.delete;clear all。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最近需要实现在CVI中对Excel文件的读写,参考了几篇论文后,总结下基本上有3种方法:1.DDE(Dynamic Data Exchange);2.ADO(ActiveX Data Objects);3.Microsoft Excel xx.0 Object Library.
DDE真是不知道那个角落里的东西,从传说中的Windows 3.x开始就有,直到最新版的Excel还支持这种方法。

资料少的可怜,MSDN上有两篇关于用DDE调用Excel的文章。

根据我的测试,这方法首先是用无论哪种方式打开Excel主程序,然后再对Excel进行连接,连接后通过通用的DDE函数进行数据传递。

我写的程序没有成功,主要在连接的时候经常连接失败,最后在打开Excel程序后加了很多延迟,问题好了很多,但有时候还是莫名其妙的连接失败。

在Excel的写入和读取上,尽管我已经把程序写的和一篇论文很像,但总是出现同一个错误,折腾了几下就放弃这种方法了。

鉴于DDE是接近淘汰的技术,其连接也不可靠,所以不建议使用这种方法。

Microsoft Excel xx.0 Object
Library貌似资料很多,但是鉴于CVI的用户数量,还是别指望太多,MSDN上有VB和C#的实例,如果我没记错的话.至于CVI中的库,真不知道是谁写的,哪都找不到帮助,MSDN上有完整的VB下的手册可以参考,如果装过完整版的Office的话好像会有个中文版的。

用这东西真叫一个烦,大部分函数得看着VB 下的手册猜着怎么用,步骤很繁琐。

用它好处是,几乎可以实现Excel 的所有功能,操作顺序跟实际操作Excel有点像,缺点除了编程繁琐外,就是其版本严格的一一对应,Microsoft Excel 11.0 Object
Library对应的就是Excel 2003,版本高了、低了都不行,甚至有同版本不同Service Pack都不能兼容的情况。

ADO+微软的Jet,可以实现把Excel映射成数据库,用SQL语言来操作Excel。

这种方法我没研究深入,只是实现了Excel数据的读取和写入,还有很多问题要解决,但是它的操作方式我很喜欢。

像大多数库一样,ADO你可以找到除CVI外很多语言的资料、示例。

用ADO实现的好处是不必过多考虑Excel版本问题,好像Excel2007之前的都可以兼容,Excel2007好像是提供了一个新的库,具体没研究过。

坏处就是,你得参照VBA的语句来完成SQL完成不了的工作,因为对VBA不熟悉,所以我才没深入研究下去。

另外一点是,Jet貌似没用64位的版本,所以这种方法不能提供64位系统的兼容。

相关文档
最新文档