首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在excel启动时汇集所有RTD调用?

如何在excel启动时汇集所有RTD调用?
EN

Stack Overflow用户
提问于 2010-11-27 11:57:30
回答 1查看 647关注 0票数 1

我有一个RTD服务器,它从实时源获取值。问题是用户有相当大的excel工作表,接近20,000个RTD公式。因此,当用户打开工作表时,所有的RTD公式都会触发,从而向服务器发送20,000个查询。这目前是有效的,但是如果我能够将查询分组并将其发送到服务器,则服务器可以执行得更好。

我的想法是维护一面旗帜。当计算开始时,该标志将被设置为false,当计算结束时,我可以重置它。当调用RTD公式时,如果该标志未设置,我不会将查询发送到RTD服务器,而是将其池化。当该标志设置为true时,我可以组合池化查询并将其发送到服务器

当excel开始和停止计算时,我不确定如何获得通知。请帮帮忙。另外,如果你知道解决这个问题的其他方法,那就太好了。我使用的是Excel2007、C# 3.5

请帮帮忙。非常感谢。Rashmi

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2010-11-27 18:21:56

由于您使用的是RTD,我想知道这是否可行:

您以定时批处理方式向后端发出调用。您在第一次RTD调用中启动一个计时器-很短的时间,可能是500ms,然后从对RTD服务器的所有调用中构建一批工作,直到计时器到期,然后将该批处理发送到后端并等待响应,同时在客户端启动新的批处理。当批处理响应到来时,您通知Excel主题已经更新,当Excel调用RefreshData时,您从批处理响应中返回单个项。通过这种方式,您的批处理可以有效地利用RTD的异步特性,但您不会被Excel的重新计算事件所束缚。

希望这是有意义的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4290049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档