将实时数据发送到Excel

Post Live Data To Excel

本文关键字:Excel 实时 数据      更新时间:2023-10-16

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

我在excel 2010中看到,你可以直接连接到sql server检索数据,但刷新频率只能低到每分钟一次。我想过创建一个RSS提要,但这可能太慢了。这些家伙不太担心延迟,但我认为如果延迟超过一秒,他们可能会不太高兴。

是我想要实现的甚至是可能的?

您可以编写一个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