将实时数据发布到Excel

时间:2014-06-26 13:49:21

标签: c# c++ excel

我被要求在我选择的C++C#中创建一个程序,该程序会使用FIX messaging来获取各种Bid/Offer价格FX instruments 1}}并将数据存储在数据库中。这部分我知道该怎么做,但客户现在告诉我他希望能够在多台PC上打开n个excel工作簿来查看历史数据以及查看实时数据。

我在excel 2010中看到,您可以直接连接到SQL服务器来检索数据,但刷新频率只能达到每分钟一次。我考虑过创建一个RSS提要但又可能太慢了。这些家伙并不太担心延迟,但我认为如果超过一秒钟的延迟他们可能不会太高兴。

是我想要实现的目标吗?

1 个答案:

答案 0 :(得分:2)

您可以编写一个VB宏来完成此任务,如下所示:

Sub Refresh_every_second()
'
' Refresh_every_second Macro
'

'
    Selection.QueryTable.Refresh BackgroundQuery:=False
    Application.OnTime Now + TimeValue("00:00:01"), "Refresh_every_second"


End Sub

此宏刷新数据源,然后每秒递归调用自身。

注意:

  • 要刷新所有页面,请使用ActiveWorkbook.RefreshAll
  • 您可能希望介绍一种停止此宏的方法,例如点击或按键。

编辑:要刷新特定数据连接,您可以使用:

ActiveWorkbook.Connections("Data Connection Name").Refresh