繁体   English   中英

使用 xlwings 刷新工作簿中的单个工作表(excel)

[英]Refresh single worksheet (excel) in workbook using xlwings

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

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

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

是的 - 我可以在每一步运行 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)?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM