【问题标题】:refreshing an excel sheet via java通过java刷新excel表
【发布时间】:2023-03-12 22:04:01
【问题描述】:

我必须构建一个从 Excel 表中提取证券交易所数据然后保存的应用程序 在数据库中。问题是excel表格通过Bloomberg插件获取新数据。

要刷新页面,用户必须打开电子表格并点击 excel 插件上的刷新按钮。一秒钟后,数据被添加到工作表中。

我看过有关通过 java 获取或将数据放入 Excel 工作表的指南,但不知道如何打开工作表、触发更新和获取数据。

【问题讨论】:

  • 您或许可以使用 Apache POI。我认为一般来说,您可以将数据流式传输到 Java 中,对其进行修改并将其写回。如果文件已经打开,您可能会遇到一些问题。
  • 你好,卡米尔,你找到解决办法了吗?

标签: java excel bloomberg


【解决方案1】:

也许您可以通过使用 Web 查询直接使用 Excel 检索数据。 所以基本上,这个功能允许你从网络上获取数据。您指定 URL,然后选择页面上要导入的数据。

您也可以在 VB 中编写这些查询(询问您是否需要有关如何使用 VB 执行此操作的更多详细信息)。

http://office.microsoft.com/

【讨论】:

  • 我不明白如何使用网络查询从 Bloomberg 插件中获取数据。
【解决方案2】:

尚不清楚您要达到的目标。我了解到您只使用电子表格来获取数据并将其保存到数据库中。

我能想到几个替代方案:

  • [dirty] 在 Windows 中创建一个计划任务,每隔 x 分钟/小时打开电子表格。在您的工作簿中,创建一个 Workbook_Open 事件,该事件使用 Application.OnTime 执行一个宏,以在几分钟后(数据更新所需的时间)执行您需要对数据执行的操作。这很容易出错,并且可能会不时失败。
  • [更好] 使用类似的东西,除了您使用 VBA 插件以编程方式获取数据、从 VBA 填充工作表和/或执行您需要对数据执行的操作。在这种情况下不需要Application.OnTime。您甚至可以自动保存/关闭电子表格。
  • [更好] 让您的 java 代码获取数据并将其发送到您的数据库。如果用户需要 Excel 中的数据,可以在需要时让 Excel 查询数据库。

注意:对于典型的 Bloomberg Terminal/Anywhere 许可证,不允许将数据保存在不同的机器上,因此数据库需要位于本地 PC 上。其他许可有不同的条款。

【讨论】:

    【解决方案3】:

    我认为您应该考虑使用Bloomberg's API v3 来检索数据。您可以访问您在 Bloomberg 终端上的 FLDS 中看到的任何字段。

    【讨论】:

      猜你喜欢
      • 2017-07-21
      • 1970-01-01
      • 1970-01-01
      • 2017-07-19
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多