如何在excel中计算和隐藏公式



我有一个excel文件,里面有几张表。将数据加载到某些图纸后,主图纸公式必须计算一些数据。但是,如果我试图只从文件中加载数据,它是空的,因为在我打开excel文件之前,带有公式的列不会进行计算。那么,如何在不打开ms-excel的情况下计算公式呢?我正在使用python。

Openpyxl构建xlsx文件,它不与Excel交互,因此没有Excel实例,公式也不执行。Openpyxl将根据工作簿的"打开"方式在单元格中提供值或公式
您需要与Excel交互,这样也许会有所帮助

Xlwings与Excel交互,因此需要本地安装Excel才能使用
在示例中,单元格A1-A3写入了整数值,单元格A4写入了一个公式以求和A1:A3。然后打印求和的结果,即单元格A4的值,显示值16911。
您将看到Excel已打开,但工作簿已隐藏,因此看不到任何数据。在代码运行完成时,Excel的所有实例都将关闭
我在代码中添加了一点延迟,这样您就可以看到Excel实例没有显示工作簿或任何数据。

import time
import xlwings as xw

with xw.App() as app:
app.display_alerts = False
app.screen_updating = False
filename = "formula_test.xlsx"
wb = xw.Book(filename)
ws = wb.sheets['Sheet1']
ws.range("A1").value = 1234
ws.range("A2").value = 5678
ws.range("A3").value = 9999
ws.range("A4").value = '=SUM(A1:A3)'
time.sleep(10)  # Delay to check Excel instance 
print("Result :", ws.range("A4").value)
wb.save(filename)
wb.close() 

如果Excel公式计算不符合您的要求,还有其他模块可以帮助您进行计算。

xlwings

最新更新