【问题标题】:Refresh single worksheet (excel) in workbook using xlwings使用 xlwings 刷新工作簿中的单个工作表(excel)
【发布时间】:2021-05-19 22:08:32
【问题描述】:

我环顾四周,但找不到答案。我发现 RefreshAll() 这不是我想做的。

假设我有一个名为“DATA”的工作簿,其中包含以下工作表:“Forecast Temps”、“Actual Temps”、“Table”、“Summary”。

现在假设 Forecast Temps 表具有从 NWS 获取数据的时间序列函数。需要刷新此工作表,然后将临时添加到工作表“表”中的指定列中。在此之后,可以刷新工作表摘要以确定当天的新高和新低。

是的 - 我可以在每一步都运行 RefreshAll(),但这似乎是多余的,并且会花费更长的时间来运行脚本。我想知道是否有办法用 xlwings 刷新单张工作表。

我也知道你可以在 VBA 中做到这一点,但我的计划是编写一个 python 脚本,然后创建一个我调用 RunPython(“ScriptName”)的 Sub。

我可以做类似的事情吗:

import xlwings as xw
wb = xw.Book("path")
forecast_temps = wb.sheet[0]
summary = wb.sheet[1]

forecast_temps.refresh() #do not know the correct func here (if there is one)?

【问题讨论】:

    标签: python excel refresh xlwings


    【解决方案1】:

    我认为 RefreshAll() 不是 xlwings API 的一部分。您可以像这样调用 Excel API:wb.api.RefreshAll()。

    如果您知道如何在 VBA 中执行此操作,那么在使用 .api 的 xlwings 中可能也可以使用。我想你会有某种工作簿连接。 wb.api.Connections 应该返回所有工作簿连接的列表。从那里你可以继续使用WorkbookConnection-Objects,它有一个 Refresh() 方法。

    【讨论】:

      猜你喜欢
      • 2017-11-09
      • 2020-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 2014-08-30
      • 2011-06-04
      • 1970-01-01
      相关资源
      最近更新 更多