【问题标题】:How to refresh excel using python如何使用python刷新excel
【发布时间】:2019-05-03 18:09:15
【问题描述】:
在使用 xlsx writer 或 openpyxl 将该函数写入 excel 后,我需要立即使用 python 在 excel 中评估该函数。我需要将此函数生成的数字拉回python中以在公式中使用。我无法直接在 python 中计算这个数字,因为它使用了一个定制的 excel 函数来与另一个程序交互。如果我在将函数写入单元格后打开 excel 文件,则函数会计算。
我尝试过使用 win32com,但似乎不起作用。有没有其他人知道不使用 win32com 的方法来实现这一点?
【问题讨论】:
标签:
python
excel-2010
win32com
【解决方案1】:
我想通了。我之前没有意识到你也可以使用win32com在excel中编写。
import win32com.client as w3c
ex_file = w3c.DispatchEx('Excel.Application')
wb = ex_file.Workbooks.Add()
ws = wb.Worksheets.Add()
ws.Name = 'Test'
ws.Range('A1:A1') = <function>
wb.RefreshAll()
cell_val = ws.Range('A1:A1').value
print(cell_val)
wb.SaveAs(<file name.xlsx>)
ex_file.Quit()