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

我有一个RTD服务器,从实时源获取值。问题是用户拥有相当大的excel表,接近20,000个RTD公式。因此,当用户打开工作表时,所有RTD公式都会被触发,从而导致向服务器发送20,000个查询。这现在可以工作,但如果我可以将查询分组并将其发送到服务器,则服务器可以执行得更好。 我的想法是保持一面旗帜。计算开始时,标志将设置为false,当计算结束时,我可以重置它。当调用RTD公式时,如果未设置该标志,我将不会将查询发送到RTD服务器,而是将其汇集。当标志设置为true时,我可以组合池化查询并将其发送到服务器 我不知道如何在excel启动和停止计算时获取通知。请帮忙。另外,如果你知道解决这个问题的任何其他方法,那就太棒了。我正在使用Excel 2007,C#3.5 请帮忙。非常感谢你。 Rashmi 谢谢,     
已邀请:
既然你正在使用RTD,我想知道这是否可行: 您可以按时间批量调用后端。你在第一个RTD呼叫中启动一个计时器 - 一个很短的时间,可能是500毫秒,然后从所有调用RTD服务器的电话中建立一批工作,直到计时器到期,然后将批处理发送到后端并等待响应,同时在客户端上启动新批处理。当批处理响应到来时,您通知Excel主题已更新,并且当Excel调用RefreshData时,您将从批处理响应中返回单个项目。这样,您的批处理可以有效地使用RTD的异步,但您不依赖于Excel的重新计算事件。 希望这是有道理的。     

要回复问题请先登录注册