如何使用 python 刷新 excel
How to refresh excel using python
我需要在使用 xlsx writer 或 openpyxl 将函数写入 excel 后立即使用 python 评估 excel 中的函数。我需要将此函数生成的数字拉回 python 以在公式中使用。我无法直接在 python 中计算这个数字,因为它使用了一个定制的 excel 函数来与另一个程序交互。如果我在将函数写入单元格后打开 excel 文件,函数就会计算。
我试过使用 win32com,但似乎不起作用。有没有其他人知道不使用 win32com 来完成此操作的方法?
我明白了。之前没想到用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()
我需要在使用 xlsx writer 或 openpyxl 将函数写入 excel 后立即使用 python 评估 excel 中的函数。我需要将此函数生成的数字拉回 python 以在公式中使用。我无法直接在 python 中计算这个数字,因为它使用了一个定制的 excel 函数来与另一个程序交互。如果我在将函数写入单元格后打开 excel 文件,函数就会计算。
我试过使用 win32com,但似乎不起作用。有没有其他人知道不使用 win32com 来完成此操作的方法?
我明白了。之前没想到用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()