有没有办法使用 python 计算 excel 中的特定 sheet?

Is there a way to calculate a particular sheet in excel using python?

我需要使用 python 计算对 excel 的 sheet 兴趣。有一种方法可以使用以下代码计算整个工作簿。

import xlwings as xw
book = xw.Book(file_path)
book.app.calculate()

有没有办法对单个 sheet 完成相同的操作?尝试过

book.sheets["Sheet 1"].calculate

但是 sheet 对象没有“计算”属性。

编辑。 也尝试了以下方法。

import win32com.client 
xl = win32com.client.gencache.EnsureDispatch("Excel.Application")
wb = xl.Workbooks.Open(file_path)
wb.Worksheets('Page 2').Calculate()

这不会给出任何错误,但也不起作用。

Edit-2 终于找到答案了,一直漏了“EnableCalculation = True.”

import win32com.client 
xl = win32com.client.gencache.EnsureDispatch("Excel.Application")
wb = xl.Workbooks.Open(file_path)
ws = wb.Worksheets('Page 2')
ws.EnableCalculation = True 
wb.Worksheets('Page 2').Calculate()

有一个类似的问题here。解决方案(目前)是使用 api.Calculate(),因此您不需要启用计算来执行此操作。

所以在你的第二个示例代码中,你可以改为 运行:

wb.sheets["Sheet 1"].api.Calculate()