dde支持传输的几种类型详解
DDE技术介绍
Hello Word! SAS统计报表-动态数据交换(DDE)技术介绍(1)将sas的统计分析结果输出到Word文档中,实现起来并不复杂,利用SAS提供的ods(Output Delivery System,输出传递系统),可以很方便的将结果输出到.rtf(也就是Word格式文档)、.html(网页)以及PDF文档中。
最简单的实现:ods rtf file="filepath:docname.rtf";proc step...ods rtf close;然后非常不幸的是,上述输出结果是系统默认的,是SAS系统已经预定义好的格式(几乎所有的情况下都不符合我们的要求),如果想用ODS系统实现统计报表的定制输出,实现过程就要复杂的多。
事实上,运行在OS/2及Windows操作系统下的SAS系统,还有另外一种与其它应用程序交互的技术,那就是Dynamic Data Exchange,动态数据交换技术,简称dde。
DDE与ODS最大的不同在于,DDE的实现过程相对透明且是实时交互,而ODS则是将所有输出结果“打包”后按固定格式(除了print,report和tabulate这三个过程)输出。
做个不大恰当的比方,DDE就好像买电脑时的攒机DIY,每个散件你可以自己挑,而ODS则是只卖整机,虽然ODS也允许你定制,但给你的只是整机。
DDE与ODS在统计报表中都有应用,但作为两种不同的技术,无所谓孰优孰劣,我只关心利用它们我能实现什么。
统计报表的输出,最重要的是规划统计表的结构,以及表格中每个单元格的数据和它的形式。
利用ODS可以获取需要的数据集,修剪之后,再利用proc template定制的表格,可以实现自定义输出,但在数据的细节上,比如最常用的卡方检验,频率及百分比的输出,如果要用template定制的table将上述两个数据输出到一个单元格,格式为N(m%),那是很困难的。
但应用DDE技术,你可以实现对Word 文档的完全操控,特别是那些细节之处,而需要你掌握的WordBasic语句并不多。
动态数据交换机制DDE
一种动态数据交换机制DDEDDE是一种动态数据交换机制(Dynamic Data Exchange,DDE),是16位Windows时代实现不同应用程序之间互相交换数据和控制的技术,现在用得很少了,Windows Shell外壳打开某些文件类型还用到DDE。
使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。
客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。
DDE(Dynamic data exchange)的工作原理是:甲方申请一块全局内存,然后把内存指针postmessage到乙方,乙方根据收到的指针访问那块全局内存。
有几个API函数是做这种事的,你在MSDN里查一下Dde 打头的函数全都出来了。
因为是已经淘汰的技术,连MFC 都没对他进行封装。
很难保证它同样会出现在以后的Windows API中。
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
API除了有应用“应用程序接口”的意思外,还特指API 的说明文档,也称为帮助文档。
对象连接与嵌入OLE对象连接与嵌入(Object Linking and Embedding,OLE),从16位Windows时代发展而来,建立在COM基础之上(实际上OLE是COM的第一个实际应用,OLE标准推出时,COM标准还没有定型;COM的成熟取决于OLE在技术上的成熟),最近看到的COM标准是0.9版。
OLE不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(Component Object Model,COM)。
LabVIEW中DDE不同通信方式的比较分析
收稿日期:2004-03-01作者简介:王怀兴(1977—),男,四川仪陇人,硕士研究生,研究方向为虚拟仪器。
LabVIEW 中DDE 不同通信方式的比较分析王怀兴,吴 柯,刘皓春(武汉理工大学信息工程学院,湖北武汉430070)摘 要:DDE (动态数据交换)是Windows 环境提供的一种基于消息的进程间通信技术协议。
Windows 环境下的多种软件系统及软件开发平台,如VB ,VC ,Excel ,Foxpro ,PB ,Developer/2000等都提供了DDE 功能。
文中对DDE 通信的几种不同方式做了简单的比较和分析,并给出了示例程序。
关键词:动态数据交换;Request 方式;Advise 方式;同步方式中图分类号:TP393.02 文献标识码:A 文章编号:1005-3751(2004)11-0077-03Comparison and Analysis on V arious Communication Modes of DDE in LabVIEWWAN G Huai 2xing ,WU K e ,L IU Hao 2chun(School of Information Engineering ,Wuhan University of Technology ,Wuhan 430070,China )Abstract :DDE (Dynamic Data Exchange )is a communication protocol between procedures.It is provided by Windows circumstances and based on message.Many software systems and software developing platforms ,such as VB ,VC ,Excel ,Foxpro ,PB ,Developer/2000,all provide DDE function.In this thesis ,compares and analyzes several communication modes of DDE in LabVIEW ,and gives some example programs.K ey w ords :DDE ;request mode ;advise mode ;synchronization mode0 引 言DDE 是运用内存共享技术,以客户应用程序和服务器应用程序成对出现的形式来实现信息交换的,即客户应用程序通过申请与服务器应用程序建立会话启动数据交换,然后客户应用程序向服务器应用程序发送数据请求、传送数据及命令,服务器应用程序完成相应的处理,并将结果回送客户应用程序;当客户不再需要数据和服务时,客户应用程序即申请终止会话,以释放系统资源。
基于DDE技术的数据实时传输研究
一
( 设置连接主题 Ln T p 。其语法为;对象 3 ) i oi k c 名 . n Tpc= “ 务程 序 名 I 题 名” L koi i 服 主 。例 如 :
T x1 ik o i et. nT pc=“ xel o k]h e1, 即可表 示 L E clB o 1S et” [
交换,这些数据可以是从一个应用程序传输到另一 个应用程序中的信息,也可 以是传递给其他应用程
维普资讯
第3 期
郭秀英: 基于DE 术的 D技 数据实时传输 研究
Di r AsRe o d e m s cb 或 Pc r o et x al B e iue x控件作为 D E t B D
维普资讯
20 0 6年 8 月
电大理工 Di d Lg n a a io g n
第3 期
总第 2 8期 2
基于 D E技术的数据实时传输研究 D
郭秀英
营 1广播电视大学 ( 1 150 ) 2 1 营 2 100 1
擅 曩 阐述了如何利用 D E D 技术把显示于V B数据窗口的数据库中的数据 自 动传输到 E cl xe 电子表格 中, 并 实现实时动态显示。 Ecl 把 xe作为 D E服务器, D 提供了一种利用 V B开发的应用程序导出 数据库 中动态变化数据的
尽管 O E技术具有强大的数据共享功能, L 而且 有逐步取代动态数据交换技术的趋势,但由于 O E L
服务器是通过 嵌入到客户 程序 中来为其提 供服务 的,激活速度较慢,不能很好地满足实时数据传输 的需要。 D E技术则因其良好的实时性而广泛应 而 D
两个 D E 应用程序之间的数据交换通常有如 D 下几种实现方式 :( 客户程序与服务器程序建立会 1 ) 话 ;(客户程序 向服务器程序提 出请求;( 服务器 2 ) 3 )
dde的结构式
dde的结构式1.dde概述DDE(Dynamic Data Exchange),动态数据交换,是一种面向共享内存的客户端/服务器型的协议。
它定义了一个服务器和一个或多个客户端之间的通信规则,以允许客户端和服务器之间共享内存,实现数据动态交换。
它利用共享内存,大大提高了应用程序之间的信息传输速度,也使得应用程序能够动态传送结构化的、格式化的数据。
2.dde主要特点(1)实时性高:dde共享内存,实现服务器和客户端之间的实时交互。
(2)数据交互能力强:客户端和服务器之间可以共享复杂的结构化数据。
(3)支持多种格式的数据:可以直接从Excel读取以及操作数据,以及CLIPBOARD格式的数据。
(4)相对低成本:技术成熟,易实现,相比前端交互,后台处理更容易实现。
3.dde应用场景(1)在微软Windows系统上,DDE是Office应用软件(如Word、Excel等)之间的数据交换的标准机制。
如:使用Word软件编辑文档,经过保存和通过DDE技术从Excel中提取数据,就可以把数据成功的输入到Word文档当中。
(2)多个软件利用DDE技术合作,由多款软件组成完整的系统服务,达到多种功能。
例如:最常见的例子,应用于系统中数据驱动,例如包括一张表由来源于多个不同软件获取得到,用一种DDE程序语言实现这些不同来源数据之间的实时双向数据交换,以及在定时间之后触发指定的DDE动作。
(3)Windows编程平台之间也可以利用DDE技术实现程序和程序之间的动态数据交换,也可以应用于关联式图形、表格、报表把它们放在一起,可以实现自动更新的功能,并且可以让报表的数据源根据程序的操作动态更新数据内容。
4.dde优缺点优点:(1)易于实现:使用DDE机制较为简单,相对低成本,是一个易于实现的协议。
(2)传输速度快:DDE利用共享内存,大大提高了应用程序之间的信息传输速度。
(3)支持结构化数据:DDE支持结构化和格式化的数据传输。
kepserver 通道类型
kepserver 通道类型1. 简介Kepserver是一款常用的工业自动化通信软件,它提供了多种通道类型,用于连接不同类型的设备和系统。
通道类型决定了Kepserver与设备或系统之间的通信协议和方式。
本文将介绍Kepserver的通道类型及其特点。
2. 串行通道类型2.1 RS-232通道RS-232通道是一种基于串行通信的通道类型。
它使用标准的RS-232电气接口,支持最多32个串行设备的连接。
RS-232通道适用于需要短距离传输和较低数据速率的应用。
2.2 RS-485通道RS-485通道是一种多点连接的串行通信通道。
它使用差分信号传输,可以支持最多256个设备的连接。
RS-485通道适用于需要长距离传输和较高数据速率的应用。
2.3 Modbus串行通道Modbus串行通道是一种基于Modbus协议的通道类型。
它可以通过RS-232或RS-485接口与Modbus设备通信。
Modbus串行通道支持多种Modbus协议变体,如Modbus RTU和Modbus ASCII。
3. 以太网通道类型3.1 TCP/IP通道TCP/IP通道是一种基于以太网的通信通道。
它使用TCP/IP协议栈与设备或系统进行通信。
TCP/IP通道可以通过以太网接口连接到局域网或广域网,支持高速数据传输和远程访问。
3.2 OPC DA通道OPC DA通道是一种基于OPC Data Access标准的通道类型。
它使用TCP/IP协议与OPC服务器进行通信,实现数据的读取和写入。
OPC DA通道可以连接到支持OPCDA协议的设备和系统。
3.3 MQTT通道MQTT通道是一种基于MQTT协议的通道类型。
它使用TCP/IP协议与MQTT代理服务器进行通信。
MQTT通道适用于物联网应用,支持发布-订阅模式的消息传输。
4. 其他通道类型4.1 DDE通道DDE通道是一种基于Dynamic Data Exchange的通道类型。
DDE配置——精选推荐
数据转储——NetDDE连接配置原理DDE是一种动态数据交换机制(Dynamic Data Exchange,DDE。
动态数据交换是微软公司提出的一种数据通讯形式,它使用共享的内存在应用程序之间进行数据交换。
DDE不同于剪切板方法,它能够及时更新数据,在两个应用程序之间自动更新信息,无须用户参与。
使用DDE通讯需要连个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。
客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。
通信要素两个程序间建立DDE通讯称作DDE会话,一个会话由服务名与话题来标识。
DDE会话中包括很多数据项,每个数据项对应一个DDE项目名。
如果通过网络与远程机器的DDE通信,还要提供远程节点的名称。
机器名、服务名、话题和项目名构成DDE 通信的四要素。
机器名:远程机器名称,若为本机可以忽略。
应用名:DDE 服务器的名字,软件程序通常使用自己的名字作为应用名。
紫金桥?支持的应用名为DB。
话题名:DDE 服务器上数据组的名字。
可能是数据的文件名或工作表名。
紫金桥?支持的话题名也为DB。
项目名:单个数据项。
紫金桥?数据库中的点名加参数名为数据项名称。
如:TI101.PV。
您可以通过一个形象的比喻来理解这四要素:把机器名想成某个人居住的“国家”,把应用程序想成“城市”,话题名当作“街道”,项目名当作“门牌号”。
假如您要访问一个朋友,当您知道了他住在哪个国家后,哪个城市、街道和门牌号就能找到这个朋友了。
紫金桥?监控组态软件提供了DDE 客户和DDE 服务器支持。
DDE 服务器可以使紫金桥?软件的过程信息传送到其它应用程序进行分析,例如微软的Excel软件。
DDE 客户支持可以使来自其它应用程序的信息传送到紫金桥?的数据库中。
Net DDE配置要想使DDE客户端程序通过网络访问远程DDE服务器,客户端计算机及服务器端计算机必须支持Net DDE (Windows NT/2000/XP/2003缺省支持,Windows 95/98不支持)。
DDE决策系统的原理和用法
DDE决策系统的原理和用法DDE(Dynamic Data Exchange,动态数据交换)决策系统是一种用于自动化决策支持的技术。
它基于一种客户-服务器的结构,通过数据传递和交互来进行决策过程的建模和分析。
DDE决策系统的原理和用法将在以下几个方面进行详细解释:一、DDE决策系统的工作原理1.数据收集:DDE决策系统通过各种途径收集决策问题所需的数据。
这些数据可以来自多个数据源,如数据库、传感器、网络等。
2.数据处理:系统对收集的数据进行处理和分析。
这些处理包括数据清洗、数据转换、数据聚合等,以便于后续的决策分析。
3.模型建立:系统根据决策问题的特点和需求,建立相应的决策模型。
这些模型可以是数学模型、统计模型、决策树模型等,用于描述和分析决策问题的关键因素和变量。
4.模型评估:系统对建立的模型进行评估和验证。
这包括模型的准确性、可靠性、稳健性等方面的评估,以确保模型能够有效地反映决策问题的本质。
5.决策生成:系统根据建立的模型和评估结果,生成决策方案。
这些决策方案可以是具体的行动计划、方案比较、风险评估等,以帮助决策者做出决策。
6.决策支持:系统将生成的决策方案进行展示和解释,帮助决策者理解和评估决策方案,提供决策的可行性和可行性分析。
二、DDE决策系统的用途1.金融领域:DDE决策系统可以用于投资决策、资产配置、风险管理等方面。
它可以通过收集和分析金融市场的数据,为投资者提供决策支持。
2.制造业领域:DDE决策系统可以用于生产调度、供应链管理、质量控制等方面。
它可以帮助企业实现生产过程的优化和效率提升。
3.市场营销领域:DDE决策系统可以用于市场定位、产品定价、广告推广等方面。
它可以基于消费者的行为数据,为企业提供市场分析和决策支持。
4.社会管理领域:DDE决策系统可以用于城市规划、交通管理、环境保护等方面。
它可以基于大数据和智能算法,为政府和公共服务机构提供科学决策支持。
5.医疗健康领域:DDE决策系统可以用于医疗诊断、病患管理、药物研发等方面。
DDE深度大数据挖掘决策系统
DDE深度大数据挖掘决策系统DDE系统的核心技术是深度学习,它是一种人工神经网络的训练方法,可以通过多层次的非线性变换,自动学习和提取数据中的高层次的抽象特征。
在DDE系统中,深度学习被用来分析和挖掘大规模数据中的复杂关联和模式。
通过深度学习,系统可以从数据中提取出高度抽象的特征,并对数据进行分类、预测和聚类等任务。
另外,DDE系统还利用大数据技术,对海量的数据进行存储和管理。
大数据技术可以处理非结构化、半结构化和结构化的数据,能够高效地进行数据的存储、处理和分析。
在DDE系统中,大数据技术被用来处理和管理海量数据,以提供快速的数据挖掘和决策支持。
DDE系统具有以下特点:1.大规模数据处理能力:DDE系统可以处理海量的数据,可以利用分布式的计算和存储技术,对数据进行高效的处理和分析。
2.自动特征学习和提取:DDE系统可以通过深度学习,自动学习和提取数据中的高级特征。
这些高级特征能够更好地表示数据的本质和关联,从而提高数据挖掘的效果。
3.多模态数据处理:DDE系统可以处理多种类型的数据,包括文本、图像、音频和视频等。
通过对多模态数据的处理,可以更全面地挖掘数据中的关联和模式。
4.实时决策支持:DDE系统可以对实时数据进行分析和挖掘,以提供实时的决策支持。
通过实时的数据分析,DDE系统可以及时发现和识别异常情况,并提供相应的决策建议。
DDE系统可以应用于各种领域和行业,如金融、医疗、交通和物流等。
在金融领域,DDE系统可以对市场数据进行分析和预测,为投资决策提供支持。
在医疗领域,DDE系统可以对患者的临床数据进行分析和挖掘,以辅助医生进行诊断和治疗。
在交通和物流领域,DDE系统可以对交通数据和物流数据进行分析和优化,以提高交通运输的效率和可靠性。
总之,DDE深度大数据挖掘决策系统是一种利用深度学习和大数据挖掘技术,可以从大规模数据中自动学习和提取知识的决策支持系统。
它具有自动特征学习、多模态数据处理和实时决策支持等特点,可以应用于各种领域和行业,提供决策相关的信息和建议。
数据交换方式(opc及dde)
一、概念介绍:1 .OLE及DDE操作系统流行以来,“剪贴板”(Clipboard)首先解决了不同程序间的通信问题(由剪贴板作为数据交换中心,进行复制、粘贴的操作),但是剪贴板传递的都是“死”数据,应用程序开发者得自行编写、解析数据格式的代码,于是动态数据交换(Dynamic Data Exchange,DDE)的通信协定应运而生,它可以让应用程序之间自动获取彼此的最新数据,但是,解决彼此之间的“数据格式”转换仍然是程序员沉重的负担。
对象的链接与嵌入(Object Linking and Embedded,OLE)的诞生把原来应用程序的数据交换提高到“对象交换”,这样程序间不但获得数据也同样获得彼此的应用程序对象,并且可以直接使用彼此的数据内容,其实OLE是Microsoft的复合文档技术,它的最初版本只是瞄准复合文档,但在后续版本OLE2中,导入了COM。
2 .OPCOPC(OLE for Process Control)是一个软件标准,它可以使自动化应用程序方便地读取工业企业的工厂级数据。
OPC是基于Microsoft的组件对象建模(COM)技术定义一个标准接口,允许自动化和控制应用程序、控制设备、以及商业和办公应用软件之间相互操作。
3 .ODBC开放式数据库连接 (ODBC) 技术为访问不同种类的 SQL 数据库提供了通用接口。
ODBC 是基于结构查询语言 (SQL) 的,以此作为访问数据的标准。
此接口提供了最大的互操作性:一个应用程序可以通过一组公用代码访问不同的 SQL 数据库管理系统 (DBMS)。
4 .SCADA数据采集与监控系统(SCADA)是一种软件应用程序,它用于远程实时遥控数据采集过程,以实现对设备和条件的控制。
SCADA可用于电场、石油和天然气精炼、通信、运输以及水和废物控制。
二、OPC及DDE的工作机制和差别1.DDE技术的工作机制dde是为在同一台计算机或不同计算机上运行的程序提供动态数据交换,最早由microsoft 公司提出的。
e算量dde数据模式
e算量dde数据模式1. 什么是e算量?e算量是一种用于度量计算机程序的复杂度的概念。
它可以衡量程序在处理输入数据时所需的计算资源,例如处理器时间、内存使用和网络带宽等。
e算量通常用于评估和优化程序的性能,以确保其在各种情况下都能够高效地运行。
2. 数据模式数据模式是指在特定情境下数据出现的规律或者模式。
在e算量中,数据模式可以用来描述输入数据的特点和规律,从而帮助我们更好地理解程序在不同输入情况下的表现。
2.1 单一数据模式单一数据模式是指输入数据具有明显的统一规律。
这意味着程序需要处理相似类型或结构的数据,并且针对这种类型或结构进行相同的操作。
例如,在一个简单的排序程序中,如果输入数据是一个已经按照升序排列好的数组,那么程序只需要进行少量比较操作就可以确定数组已经有序。
这种情况下,e算量较低,程序执行时间较短。
2.2 随机数据模式随机数据模式是指输入数据没有明显的规律或者统一性。
这种情况下,程序需要对不同类型或结构的数据进行不同的操作。
例如,在一个搜索程序中,如果输入数据是一个无序的数组,那么程序需要逐个比较数组中的元素才能找到目标值。
这种情况下,e算量较高,程序执行时间较长。
2.3 增长数据模式增长数据模式是指输入数据的规模逐渐增加。
这意味着程序需要处理更多的数据量,并且可能需要进行更多的计算操作。
例如,在一个图像处理程序中,如果输入是一张小尺寸的图片,程序可以很快地完成图像处理任务。
但如果输入是一张大尺寸的图片,那么程序可能需要花费更多时间来处理每个像素点。
这种情况下,e算量随着输入数据规模的增加而增加。
3. 如何优化e算量?优化e算量可以提高程序的性能和效率。
以下是一些常见的优化方法:3.1 算法优化选择合适的算法可以显著减少计算资源的使用。
一些高效的排序、查找和计算算法可以在相同时间内处理更多数据。
例如,在排序任务中,快速排序算法通常比冒泡排序算法具有更低的e算量。
因此,选择合适的排序算法可以提高程序的性能。
利用DDE技术实现不同应用之间的数据交换
利用DDE技术实现不同应用之间的数据交换
贺泽;邱长华;张家泰;薛开
【期刊名称】《应用科技》
【年(卷),期】2004(031)005
【摘要】阐述了如何利用DDE(dynamic data exchange)技术把显示于数据窗口的数据库中的数据自动传递到Excel电子表格中,以便灵活地操纵数据.把Excel作为DDE服务器,提供了一种在用PowerBuilder 8.0开发的应用程序中导出、打印表格类数据的方法,实现了不同应用程序之间数据交换.
【总页数】3页(P7-9)
【作者】贺泽;邱长华;张家泰;薛开
【作者单位】哈尔滨工程大学,机电工程学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,机电工程学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,机电工程学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,机电工程学院,黑龙江,哈尔滨,150001
【正文语种】中文
【中图分类】TP391.72
【相关文献】
1.利用SQL SERVER的复制技术实现院内与院外门诊之间的数据交换 [J], 吴晓龙;张艳华
2.利用DDE技术实现WinCC与Excel的数据交换 [J], 姜巍
3.利用DDE实现RSView32与VB应用程序的数据交换 [J], 刘波涛;石磊;赵群
4.利用DDE技术实现在数据库与WinWord之间的数据交换 [J], 郑东;陈淑珍
5.利用DDE实现组态王和VB应用程序的数据交换 [J], 吕利娟;林景栋
因版权原因,仅展示原文概要,查看原文内容请购买。
dde支持传输的几种类型详解
Dynamic Data E xchange and XlT able F ormatMicrosoft Windows provides several methods for transferring data between applications.One way to transfer data is to use Wind ows dynamic data exchange (DDE). DDE is amessage protocol for data exchange between Windows prog rams. It allows softwaredevelopers to design applications that share data and thereby provide the user with a moreintegrated Wind ows environment.For complete information abou t DDE, see the documentation for the Microsoft WindowsSoftware Development Kit (SDK). This article describes the DDE formats that MicrosoftExcel supports, and it provides detailed information ab out the high-performance XlTableDDE format.DDE FormatsMicrosoft Excel supports several DDE formats. The formats are listed in the followingtable in the order of precedence defined by Microsoft Excel, from hig hest precedence(XlTable) to lowest precedence (CF_METAFILEPIC T). Clipboard formats that beginwith CF_ are formats that are alread y defined in Windows.h. Clipboard formats withou tCF_ must be registered before use. For more information abou t registering formats, seeRegistering Clipboard Formats.Clipboard format DescriptionXlTable Microsoft Excel fast table format. For more information, see Fast Table Format.Biff5 Binary interchange file format (B IFF) for Microsoft Excel version 5.0. For more information abou t the file format,see Microsoft Excel File Format.Biff4 Binary interchange file format (B IFF) for Microsoft Excel version 4.0.Biff3 BIFF for Microsoft Excel version 3.0.Biff BIFF for Microsoft Excel version 2.x.CF_SYLK Microsoft symb olic link (SYLK) format. Microsoft Excel for the Apple Macintosh was originally designed to use SYLK format, and this format is now supported by Microsoft Excel on both the Windows and Macintosh platforms.Wk1 Lotus® 1-2-3® Release 2.01 and Release 2.2 format.Csv Comma-separated values format, commonly used in B ASIC language I/O. This is similar to CF_TEXT format, except that Csv uses commas to separate fields.CF_TEXT The simplest form of Clipboard data. It is a null-terminated string containing a carriage return and linefeed at the end of each line. Rich Text Format A method of encoding formatted text and graphics for easy transfer between applications. Rich Text Format (R T F) is commonly used by document-processing programs such as Microsoft Word for Windows and Microsoft Word for the Macintosh.CF_DIF An ASCII format used by the VisiCalc™ spreadsheet program. The format is under the control of Lotus Development Corporation.CF_BITMAP A Wind ows version 2.x-compatible bitmap.CF_METAFILEPIC T A metafile picture structure. For complete information, see the documentation for the Microsoft Windows Software Development Kit.Registering Clipboard FormatsWhenever an application uses a private Clipboard format — such as XlTable, Biff5,Biff4, Biff3, Biff, Wk1, Csv, or Rich Text Format — it must register the format beforeusing it. Microsoft Excel registers these private Clipboard formats, and you r DDEapplication must also register any of these formats that you want to use to exchange data.For example, to register XlTable, use the following Windows API fu nction call.wCBformat = RegisterClipb oardFormat((LPSTR)"XlTable");If the function call is successful, the return value is equal to the format value for theXlTable format. This format value (type WORD) is between 0xC000 and 0xFFFF, andit's equal to the format value that Windows retu rned to Microsoft Excel when it registeredXlTable. If Windows cannot register XlTable, the function returns 0 (zero).Fast T able FormatThe fast table format, XlTable, is desig ned to maximize the DDE transfer speed ofMicrosoft Excel. XlTable consists of a sequence of data blocks that represent arectangular selection of cells (a table). Each data block has three parts:WORD tdt /* the table data type */WORD cb /* the size (count of b ytes) of the data */BYTE data[cb] /* the data */The first data block is always of type td tTable, which specifies the number of rows andthe number of colu mns in the table. The data blocks that follow td tTable represent all thecells in the table. Microsoft Excel renders the reference of the cells in the table (forexample, R1C1:R2C4) as the item part of the DDE message.The cells are always rendered row-wise. In other words, all the cells in the first row of thetable appear first, then all the cells in the second row, and so on. To minimize overhead,adjacent cells of the same type (td t) are represented together in one data block, even if thecells are in different rows. In other words, one td tFloat can contain several nu mbers, onetd tString can contain several strings, one tdtB ool can contain several B oolean values, andso on. For examples, see the following sections, "XlTable Example 1" and "XlTableExample 2."The data block types are described in the following table.Data block type Value Descriptiontd tTable 0x0010 The size of the table. The data (4 bytes, cb=4) consists of two words.The first word is the nu mber of rows, and the second word is the nu mber of columns.td tFloat 0x0001 IEEE-format floating-point number. The size of the number is 8 bytes per cell.td tString0x0002 String in st (byte-counted) format. The first byte contains the leng th of the string (cch). The string isn't null-terminated.td tBool 0x0003 Boolean value: 1 = TRUE0 = FALSEThe length of the data is 2 bytes per cell.td tError 0x0004 Error value: 0 = #NULL!7 = #DIV/0!15 = #VALUE!23 = #REF!29 = #NAME?36 = #NUM!42 = #N/AThe length of the data is 2 bytes per cell.td tBlank 0x0005 A count of the number of consecu tive undefined (blank) cells.The data (2 bytes, cb=2) contains the number of consecu tive blank cells.td tInt 0x0006 Unsigned integer. The leng th of the data is 2 b ytes per cell. Microsoft Excel can read a number in thisformat, but it never writes a number in this format.td tSkip 0x0007 Number of cells to skip. A skipped cell is a cell that retains its previous value. In other words, a skipped cell isn't changed b use td tSkip to increase DDE performance if your application changes only one or two cells in the middle of a large table. Mthe new cell data is part of a WM_DDE_POKE message. The leng th of the data is 2 bytes (cb=2).XlT able E xample 1The following selection of three cells . . .A1 EastA2 WestA3 North. . . produces the XlTable rendering shown in the following table.Data (hexadecimal) Description10 00 04 00 01 00 03 00 td tTable, cb=4, rows=1, columns=302 00 10 00 td tString, cb=1604 45 61 73 74 cch=4, East (td tString continued)04 57 65 73 74 cch=4, West (td tString continued)05 4e 6f 72 74 68 cch=5, North (td tString continued)Notice that the table contains three cells, but the XlTable rendering contains only onetd tString data block.XlT able E xample 2The XlTable format uses the td tBlank data block to represent blank cells in a table. Asequence of several blank cells may be represented by a single tdtBlank data block.For example, the following table . . .A1: 2 A2: 3B1: 4 B2: 5D1: 6 D2: 7. . . produces the following XlTable rendering.Data (hexadecimal) Description10 00 04 00 02 00 04 00 td tTable, cb=4, rows=4, columns=206 00 08 00 02 00 03 00 04 00 05 00 td tInt, cb=8, int[0]=2, int[1]=3, int[2]=4, int[3]=5 (Microsoft Excel can read td tInt as a client, bu t it would write td tF05 00 02 00 02 00 td tBlank, cb=2, data=2 (two cells are blank)06 00 04 00 06 00 08 00 td tInt, cb=4, int[0]=6, int[1]=8Biff5, Biff4, Biff3, and Biff FormatsThe Biff5, Biff4, Biff3, and Biff Clipboard formats contain a variable number of records.The records are identical to the corresponding records in the B IFF file. For moreinformation ab out the BIFF5 records, see Microsoft Excel File Format. The Biff4, Biff3,and Biff formats are available for backward compatibility with existing applications. TheBiff Clipboard format corresponds to the BIFF2 file format.If you implement one of the BIFF Clipb oard formats, your code should be prepared toreceive all B IFF records except file-specific records such as the following:WRITEPROTFILEPASSTEMPLATEWRITEACCESSFILESHARINGCODEPAGEPUBSUBEDGINDEXThe requisite B IFF records that your code must provide when it writes to the Clipboard are as follows:BOFDIMENSIONSCell record or records (B LANK, B OOLERR, and so on。
利用DDE通信将PLC数据传输到EXCEL
利⽤DDE通信将PLC数据传输到EXCEL前⾔:微软的Office办公软件功能⾮常强⼤,特别是Excel对数据的分析更是臻于完美。
在⼀些特殊的场景,需要将PLC的实时数据传输到Excel中,利⽤其强⼤的数据处理功能进⾏分析,以便进⾏监视和决策。
如何来实现PLC与Excel进⾏数据交换呢?由于RSLinx和Excel都⽀持DDE,这将使得这⼀需求变得容易多了。
⼀、DDE是什么1、DDE(Dynamic Data Exchange),是⼀种动态数据交换机制。
2、使⽤DDE通讯需要两个Windows应⽤程序,其中⼀个作为服务器处理信息,另外⼀个作为客户机从服务器获得信息。
3、客户机应⽤程序向当前所激活的服务器应⽤程序发送⼀条消息请求信息,服务器应⽤程序根据该信息作出应答,从⽽实现两个程序之间的数据交换。
⼆、情景设定1、夏季已经到了,很多地区更是进⼊了暴⾬季节;2、某⼚区使⽤的AB PLC控制系统进⾏⾬⽔检测及排放;3、该⼚领导要求在其办公室能实时查看3个集⽔井的液位变化,其他数据不需要接⼊。
三、⽅案设计1、由于只需要查看3个液位数据,如果在其办公电脑上安装上位机软件费时费⼒费财,⽽且⼤材⼩⽤,这个⽅案必须否决;2、最优⽅案是:办公电脑安装有Excel,只需要安装RSLinx,利⽤DDE将PLC⾥的集⽔井液位数据传输到Excel,再应⽤其图表分析功能实时显⽰液位数据。
四、⽅法步骤1、Studio 5000的控制器标签⾥存放有3个集⽔井实时液位变量LT[1]、LT[2]、LT[3].2、在已经安装好的RSLinx中,点击DDE/OPC菜单,选择Topic Configuration.3、在弹出的配置窗⼝,按下图标识的顺序进⾏,该步骤是将PLC控制器指定到⼀个DDE通道(testDDE,其名称可顺便填写)。
4、在Edit菜单中,选择Copy DDE/OPC Link,这时出现刚才已经建好的testDDE通道,选择在线,找到1#集⽔井液位变量LT[1],点OK.5、打开Excel,编辑好相关信息,在1#集⽔井实时液位表格单击右键--选择性粘贴—粘贴链接—确定,这样就把PLC中的变量复制到Excel表格中了.6、其他2#、3#集⽔井的液位值只需要把1#变量中的LT[1]改为LT[2]、LT[3]即可.7、光有数据显⽰不是很直观,这时,是Excel的图表发挥其强功能的时候了,按下图顺序操作,将数据变为柱形图显⽰。
DDE
DDE-Dynamic Data Exchange 动态数据交换
Power_Yang 2010-12
Power_Yang
1
简述
动态数据交换(DDE)是建立在Windows内部消息 系统、全局原子和共项全局内存基础上的一种协议,可 用来协调Windows应用程序之间的数据交换和命令调用。 DDE协议通过对使用消息参数wParam和lParam来传递 全局原子和全局共享内存句柄的方式的精确定义,使其 能在进程间传递更多的信息,增强进程间共享数据和处 理数据的能力。通常DDE主要用来传递那些不需要用户 经常干涉的数据流。在建立原始链路后,有关的应用程 序即将其接管过去,而无需用户进一步的介入。DDE所 提供的是一种更加集成的工作环境。
8
Power_Yang
WM_DDE_ADVISE
HGLOBAL hOptions = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE, sizeof(DDEADVISE)); // 分配内存块 DDEADVISE* lpOptions = (DDEADVISE*)GlobalLock(hOptions); // 锁定内存 lpOptions->cfFormat = CF_TEXT; // 格式设置 lpOptions->fAckReq = TRUE; // 需要服务器应答 lpOptions->fDeferUpd = FALSE; // FALSE为热链接,TRUE为温链接 GlobalUnlock(hOptions); // 解锁内存 HWND m_hwndServer = ::FindWindow(NULL, _T("Server")); // 组合消息参数lParam LONG lDataPack = PackDDElParam(WM_DDE_ADVISE, (UINT)hOptions, NULL); ::PostMessage(m_hwndServer, WM_DDE_ADVISE, (WPARAM)hwndClient, (LPARAM)lDataPack); // 向服务器发送WM_DDE_ADVISE消息 1.服务端读取共享数据块来确定此数据交换类型,比如是热连接还是温连接,需 不需要服务器应答。 2.温数据:数据变化后,需要服务器发送变化通知但不发送数据,客户端根据需 要通过WM_DDE_REQUEST来请求数据 3.热数据: 数据变化后,服务器直接发送变化的数据
Windows的DDE原理
Windows的DDE原理Windows的DDE机制基于Windows的消息机制。
两个Windows应用程序通过相互之间传递DDE消息进行DDE会话(Conversation),从而完成数据的请求、应答、传输。
这两个应用程序分别称为服务器(Server)和客户(Client)。
服务器是数据的提供者,客户是数据的请求和接受者。
DDE会话由客户程序启动。
客户程序把一条消息(WM_DDE_INITIATE)传播给当前运行的所有Windows程序。
这条消息指明了客户程序所需要的一般数据(应用程序、主题)。
拥有这些数据的DDE服务器可以响应这条被传播的消息。
此时,DDE会话就开始了。
由于在每个主题中,DDE服务器可以支持一个或多个数据项,所以在客户请求数据时应同时指明应用程序名、主题名和项目名。
应用程序、主题、项目是DDE中三个最基本的概念。
利用Windows本身提供的DDE消息和API进行DDE编程是一件相当棘手的问题。
虽然使用DDE管理库(ddeml.dll)可以一定程度上减轻开发者的工作负担,但开发DDE程序仍不是一件轻松的事情。
此时Delphi出现了!Delphi通过其自身巧妙的设计使开发一个DDE应用程序同开发一个普通程序一样地快捷、方便。
7.2.2Delphi的DDE实现机制简介Delphi把所有的DDE功能做到四个部件中,它们是:●TDDEClientConv:用于客户程序建立和维护一个DDE会话●TDDEClientItem:用于客户程序建立和维护数据交换通道●TDDEServerConv:用于服务器程序响应DDE会话●TDDEServerItem:用于服务器程序维护数据交换通道前两个部件用于生成一个DDE客户程序,后两个部件用于生成一个DDE服务器程序。
如果一个应用程序同时拥有这些部件,则这一程序既可以充当DDE客户,也可以充当DDE 服务器。
会话部件TDDEClientConv、TDDEServerConv用于建立和维护一个DDE会话。
组态王与其它应用程序的动态数据交换(DDE)
组态王与其它应用程序的动态数据交换(DDE)说明文档北京亚控科技发展有限公司2009年7月目录1. 概述 (1)2. 组态王与Excel间的数据交换 (1)2.1 Excel程序从组态王中获得数据 (1)2.2 组态王从Excel程序中获得数据 (3)3. 组态王与VB间的数据交换 (7)3.1 VB应用程序从组态王中获得数据 (7)3.2 组态王从VB应用程序中获得数据 (8)1. 概述“组态王”支持动态数据交换(DDE:Dynamic Data Exchange),能够和其他支持动态数据交换的应用程序方便地交换数据。
通过DDE,工程人员可以利用PC机丰富的软件资源来扩充“组态王”的功能,比如用电子表格程序从“组态王”的数据库中读取数据,对生产作业执行优化计算,然后“组态王”再从电子表格程序中读出结果来控制各个生产参数;可以利用VISUAL BASIC开发服务程序,完成数据采集、报表打印、多媒体声光报警等功能,从而很容易组成一个完备的上位机管理系统;还可以和数据库程序、人工智能程序、专家系统等进行通信。
现就组态王与VB应用程序、Excel程序通过DDE方式进行数据交换的使用方法进行简要的说明:2. 组态王与Excel间的数据交换2.1 Excel程序从组态王中获得数据1)在组态王中建立变量。
图-1建立变量“B”,并设置允许DDE访问。
(本例连接的物理设备为亚控仿真PLC)。
2)创建Excel数据表格,输入访问组态王变量的连接语句。
图-2选择“R1C2”单元格按如下格式输入DDE连接语句“=VIEW|TAGNAME!设备地址”,其中设备地址为在组态王中定义的IO变量的寄存器地址,其格式为“连接设备名.寄存器名”。
在本例中访问组态王中变量“B”的DDE连接语句为“=VIEW|TAGNAME!PLC.INCREA100”。
运行组态王的运行系统(加载演示本演示工程),Excel数据表格可以实时的得到组态王变量的数据。
有关DDE和OPC
简单介绍DDE动态数据交换技术DDE(Dynamic Data Exchange,动态数据交换)是进程间通讯(InterProcess Communication,IPC)的方法。
进程间通讯(IPC)包括进程之间和同步事件之间的数据传递。
DDE使用共享内存来实现进程之间的数据交换以及使用DDE协议获得传递数据的同步。
DDE协议是一组所有的DDE应用程序都必须遵循的规则集。
DDE协议可以应用于两类DDE 应用程序:第一类是基于消息的DDE,第二类是动态数据交换管理库(DDEML)应用程序(使用动态连接库(DLL),该库随Windows系统一起发行)。
DDE应用程序可以分为四种类型:客户、服务器、客户/服务器和监视器。
DDE会话发生在客户应用程序和服务器应用程序之间。
客户应用程序从服务器应用程序请求数据或服务,服务器应用程序响应客户应用程序的数据或服务请求。
客户/服务器应用程序既是客户应用程序又是服务器应用程序,它既可发出请求又可提供信息。
监视器应用程序用于调试目的。
DDE应用程序可拥有多重迸发会话。
DDE协议规定会话中的消息必须同步控制,但应用程序可以在不同的会话之间异步切换。
DDE应用程序采用三层识别系统:应用程序名(Application)、主题名(Topic)和项目名(Item)。
应用程序名位于层次结构的顶层,用于指出特定的DDE服务器应用程序名。
主题名更深刻地定义了服务器应用程序会话的主题内容,服务器应用程序可支持一个或多个主题名。
项目名更进一步确定了会话的详细内容,每个主题名可拥有一个或多个项目名。
DDE会话的初始化是由客户应用程序发送WM_DDE_INITIATE消息开始,它传递窗口句柄并为会话指定应用程序名和主题名,当然需要有服务器应用程序来响应该消息。
一旦没有服务器响应或同时有多个服务器响应,则客户应用程序不得不发送WM_DDE_TERMINA TE消息来终止所有不需要的会话。
建立DDE会话后,客户应用程序和服务器应用程序可通过三种链接方式进行数据交换。
DDE 接口数据库使用相关
DDE 服务器使用客户端具有支持动态数据交换 (DDE) 作为一个目标(客户)应用程序或源(服务器)应用程序。
例如,一个作为客户的应用程序,如 Microsoft Word,可以通过 DDE,从一个作为服务器的 Microsoft Access 或者是IOServer数据库来请求数据。
IOServer DDE interfaceApplication NameIOSDDETopic NameAny Topic Name will be accepted as valid. Should allocate a topic for each device. Update RateThe initial update rate of all Topics is IOServer Preferences->DDE Settings->Update Rate. The update of each Topic can be individually set by writing toIOSDDE|TOPIC!UPDATERATE. e.g. Poking 100 to IOSDDE|RTU12!UPDATERATE will set the update rate for Topic "RTU12" to 100ms.Using IOServer with ExcelTo display a 10x10 array from the Modbus Device 'Master'.1. Select a 10 by 10 area.2. Type in=IOSDDE|modbus!'Master.40001[10][10]'3. Press Ctrl-Shift-EnterExample of a function to write the value at worksheet OPC.A4 to "Master.40001" Sub TagWrite()Dim rangeToPokeDim channelchannel = Application.DDEInitiate("IOSDDE", "Group")Set valueToPoke = Worksheets("OPC").Range("A4")Application.DDEPoke channel, "Master.40001", valueToPokeApplication.DDETerminate channelEnd Sub如下是其他的一些相关DDE接口的例子:提示如果要操作另一个应用程序中的 Microsoft Access 对象,需要使用自动化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Dynamic Data E xchange and XlT able F ormatMicrosoft Windows provides several methods for transferring data between applications.One way to transfer data is to use Wind ows dynamic data exchange (DDE). DDE is amessage protocol for data exchange between Windows prog rams. It allows softwaredevelopers to design applications that share data and thereby provide the user with a moreintegrated Wind ows environment.For complete information abou t DDE, see the documentation for the Microsoft WindowsSoftware Development Kit (SDK). This article describes the DDE formats that MicrosoftExcel supports, and it provides detailed information ab out the high-performance XlTableDDE format.DDE FormatsMicrosoft Excel supports several DDE formats. The formats are listed in the followingtable in the order of precedence defined by Microsoft Excel, from hig hest precedence(XlTable) to lowest precedence (CF_METAFILEPIC T). Clipboard formats that beginwith CF_ are formats that are alread y defined in Windows.h. Clipboard formats withou tCF_ must be registered before use. For more information abou t registering formats, seeRegistering Clipboard Formats.Clipboard format DescriptionXlTable Microsoft Excel fast table format. For more information, see Fast Table Format.Biff5 Binary interchange file format (B IFF) for Microsoft Excel version 5.0. For more information abou t the file format,see Microsoft Excel File Format.Biff4 Binary interchange file format (B IFF) for Microsoft Excel version 4.0.Biff3 BIFF for Microsoft Excel version 3.0.Biff BIFF for Microsoft Excel version 2.x.CF_SYLK Microsoft symb olic link (SYLK) format. Microsoft Excel for the Apple Macintosh was originally designed to use SYLK format, and this format is now supported by Microsoft Excel on both the Windows and Macintosh platforms.Wk1 Lotus® 1-2-3® Release 2.01 and Release 2.2 format.Csv Comma-separated values format, commonly used in B ASIC language I/O. This is similar to CF_TEXT format, except that Csv uses commas to separate fields.CF_TEXT The simplest form of Clipboard data. It is a null-terminated string containing a carriage return and linefeed at the end of each line. Rich Text Format A method of encoding formatted text and graphics for easy transfer between applications. Rich Text Format (R T F) is commonly used by document-processing programs such as Microsoft Word for Windows and Microsoft Word for the Macintosh.CF_DIF An ASCII format used by the VisiCalc™ spreadsheet program. The format is under the control of Lotus Development Corporation.CF_BITMAP A Wind ows version 2.x-compatible bitmap.CF_METAFILEPIC T A metafile picture structure. For complete information, see the documentation for the Microsoft Windows Software Development Kit.Registering Clipboard FormatsWhenever an application uses a private Clipboard format — such as XlTable, Biff5,Biff4, Biff3, Biff, Wk1, Csv, or Rich Text Format — it must register the format beforeusing it. Microsoft Excel registers these private Clipboard formats, and you r DDEapplication must also register any of these formats that you want to use to exchange data.For example, to register XlTable, use the following Windows API fu nction call.wCBformat = RegisterClipb oardFormat((LPSTR)"XlTable");If the function call is successful, the return value is equal to the format value for theXlTable format. This format value (type WORD) is between 0xC000 and 0xFFFF, andit's equal to the format value that Windows retu rned to Microsoft Excel when it registeredXlTable. If Windows cannot register XlTable, the function returns 0 (zero).Fast T able FormatThe fast table format, XlTable, is desig ned to maximize the DDE transfer speed ofMicrosoft Excel. XlTable consists of a sequence of data blocks that represent arectangular selection of cells (a table). Each data block has three parts:WORD tdt /* the table data type */WORD cb /* the size (count of b ytes) of the data */BYTE data[cb] /* the data */The first data block is always of type td tTable, which specifies the number of rows andthe number of colu mns in the table. The data blocks that follow td tTable represent all thecells in the table. Microsoft Excel renders the reference of the cells in the table (forexample, R1C1:R2C4) as the item part of the DDE message.The cells are always rendered row-wise. In other words, all the cells in the first row of thetable appear first, then all the cells in the second row, and so on. To minimize overhead,adjacent cells of the same type (td t) are represented together in one data block, even if thecells are in different rows. In other words, one td tFloat can contain several nu mbers, onetd tString can contain several strings, one tdtB ool can contain several B oolean values, andso on. For examples, see the following sections, "XlTable Example 1" and "XlTableExample 2."The data block types are described in the following table.Data block type Value Descriptiontd tTable 0x0010 The size of the table. The data (4 bytes, cb=4) consists of two words.The first word is the nu mber of rows, and the second word is the nu mber of columns.td tFloat 0x0001 IEEE-format floating-point number. The size of the number is 8 bytes per cell.td tString0x0002 String in st (byte-counted) format. The first byte contains the leng th of the string (cch). The string isn't null-terminated.td tBool 0x0003 Boolean value: 1 = TRUE0 = FALSEThe length of the data is 2 bytes per cell.td tError 0x0004 Error value: 0 = #NULL!7 = #DIV/0!15 = #VALUE!23 = #REF!29 = #NAME?36 = #NUM!42 = #N/AThe length of the data is 2 bytes per cell.td tBlank 0x0005 A count of the number of consecu tive undefined (blank) cells.The data (2 bytes, cb=2) contains the number of consecu tive blank cells.td tInt 0x0006 Unsigned integer. The leng th of the data is 2 b ytes per cell. Microsoft Excel can read a number in thisformat, but it never writes a number in this format.td tSkip 0x0007 Number of cells to skip. A skipped cell is a cell that retains its previous value. In other words, a skipped cell isn't changed b use td tSkip to increase DDE performance if your application changes only one or two cells in the middle of a large table. Mthe new cell data is part of a WM_DDE_POKE message. The leng th of the data is 2 bytes (cb=2).XlT able E xample 1The following selection of three cells . . .A1 EastA2 WestA3 North. . . produces the XlTable rendering shown in the following table.Data (hexadecimal) Description10 00 04 00 01 00 03 00 td tTable, cb=4, rows=1, columns=302 00 10 00 td tString, cb=1604 45 61 73 74 cch=4, East (td tString continued)04 57 65 73 74 cch=4, West (td tString continued)05 4e 6f 72 74 68 cch=5, North (td tString continued)Notice that the table contains three cells, but the XlTable rendering contains only onetd tString data block.XlT able E xample 2The XlTable format uses the td tBlank data block to represent blank cells in a table. Asequence of several blank cells may be represented by a single tdtBlank data block.For example, the following table . . .A1: 2 A2: 3B1: 4 B2: 5D1: 6 D2: 7. . . produces the following XlTable rendering.Data (hexadecimal) Description10 00 04 00 02 00 04 00 td tTable, cb=4, rows=4, columns=206 00 08 00 02 00 03 00 04 00 05 00 td tInt, cb=8, int[0]=2, int[1]=3, int[2]=4, int[3]=5 (Microsoft Excel can read td tInt as a client, bu t it would write td tF05 00 02 00 02 00 td tBlank, cb=2, data=2 (two cells are blank)06 00 04 00 06 00 08 00 td tInt, cb=4, int[0]=6, int[1]=8Biff5, Biff4, Biff3, and Biff FormatsThe Biff5, Biff4, Biff3, and Biff Clipboard formats contain a variable number of records.The records are identical to the corresponding records in the B IFF file. For moreinformation ab out the BIFF5 records, see Microsoft Excel File Format. The Biff4, Biff3,and Biff formats are available for backward compatibility with existing applications. TheBiff Clipboard format corresponds to the BIFF2 file format.If you implement one of the BIFF Clipb oard formats, your code should be prepared toreceive all B IFF records except file-specific records such as the following:WRITEPROTFILEPASSTEMPLATEWRITEACCESSFILESHARINGCODEPAGEPUBSUBEDGINDEXThe requisite B IFF records that your code must provide when it writes to the Clipboard are as follows:BOFDIMENSIONSCell record or records (B LANK, B OOLERR, and so on。