openpyxl能否使Excel相信其工作表已完全计算?

openpyxl能否使Excel相信其工作表已完全计算?,excel,openpyxl,calculation,Excel,Openpyxl,Calculation,我收到的电子表格充满了我无法访问的用户定义公式(某些DLL)。因为我只对值感兴趣,这没关系——我可以使用缓存的值。我通常使用openpyxl对此类工作簿进行硬编码,如下所示: #!/usr/bin/python3 import sys import openpyxl wb=openpyxl.load_workbook(sys.argv[1],data_only=True,keep_vba=False) wb.save(sys.argv[1]) 现在工作簿只包含值,不包含公式。太好了 然而,当我

我收到的电子表格充满了我无法访问的用户定义公式(某些DLL)。因为我只对值感兴趣,这没关系——我可以使用缓存的值。我通常使用
openpyxl
对此类工作簿进行硬编码,如下所示:

#!/usr/bin/python3
import sys
import openpyxl
wb=openpyxl.load_workbook(sys.argv[1],data_only=True,keep_vba=False)
wb.save(sys.argv[1])
现在工作簿只包含值,不包含公式。太好了

然而,当我链接到这些工作簿时,Excel通常会提醒我,工作簿尚未重新计算,我需要单击“确定”数百次。这是愚蠢的,因为没有计算公式

openpyxl
中是否有任何方法可以欺骗Excel,使其认识到这些工作簿是“完全计算的”,不需要重新计算?现在我必须在Excel中打开工作簿,点击F9并重新保存。但由于工作手册很大,我宁愿在自动化过程中完成


有办法吗?

您应该能够设置工作簿的“计算属性”

比如:

wb.calculation.calcMode = "manual"
应该有用。但是你可能需要利用这些选项,让它按照你的需要工作


注意。谁知道你在工作簿中保存的宏想要做什么。

对不起,我显然不够清楚。我根本不想打开这个文件。它非常大,我只需要从文件中可预测的位置计算出100个左右的值。打开这个文件(每天都有一位同事发来,满是公式)很慢,所以我(没有打开它,只是简单地使用openpyxl)创建了一个硬代码(仅限值)版本的文件并链接到这个文件;但后来我从excel收到了很多警报。您的解决方案要求我在Excel中打开我不想打开的文件。我只想从中挑选一些(大约100个)值。我想我的问题可以用一种更清晰的方式提出。“我会再试一次。”查理·克拉克得到你的评论太晚了。我想我的新问题更好。在这里: