本文地址:http://www.cnblogs.com/Charltsing/p/RTD.html
QQ:564955427
在Excel里面获取实时数据大概有几种方式:
1、定时器+函数
2、DDE
3、RTD
第一种方法会造成Excel在更新数据时无法操作,在插件里面也可能会发生Com error,究其原因是因为Excel是STA进程,不能在忙的时候操作它。
第二种的DDE是一种动态数据交换机制(Dynamic Data Exchange,DDE)。使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。DDE的稳定性和效率都存在问题。目前微软不推荐在Excel里面使用此技术。
第三种:
从Excel 2002开始,微软提供了一种叫做Excel RTD(real-time data)的技术,使用该技术可以在Excel中实时查看和更新数据。RTD采用所谓的“推-拉”相结合的技术,使得其在实时获取和更新不断变化的数据(例如股票、汇率、天气)的性能方面,相比较之前的DDE更加稳健和快速。
由此可见,RTD是专门为了在Excel中能够实时刷新数据而设计的,主要好处是:实时,稳定,效率高。
这几天有空,我就写了一个实时刷新和讯网实时行情数据的加载项,做成XLL格式,方便调用。
使用方法:根据你的Office是32位还是64位,双击HeXunRTDpack.xll或者HeXunRTDpack64.xll,加载RTD服务器。
然后在工作表里面写入函数 =RTDTimer(参数1,参数2),参数1是股票号码(仅A股),参数2是想看的数据,例如“成交量”,“成交额”,“最新价”等等,具体可以在和讯网的实时行情字段里面看字段名称,目前支持13个字段。
公式写好之后,只要和讯网实时行情有更新,就可以在Excel里面实时看到变化。(新手请注意打开Excel宏安全性,以免插件无法加载)
注意事项:本插件在.net 4.0下开发,如果是windows7及以下操作系统,请安装.NET Framework 4.0安装包。
如果有杀毒软件报警,请无视或删除本插件。
插件下载:32位,64位。请根据你的Office版本选择下载。
本文地址:http://www.cnblogs.com/Charltsing/p/RTD.html
QQ:564955427