Python openpyxl 解决获取公式计算结果为None的问题

openpyxl库可以非常方便的处理xlsx文件,但是这个库修改过xlsx文件之后,如果再次用openpyxl打开该文件,会发现无法获取到公式的计算结果,即可以获取到公式,但是无法获取公式结果,返回一个None
这是因为openpyxl修改xlsx过后不会对公式进行计算,导致了公式结果丢失,自然也就读取不到公式结果了。
想解决这个问题可以借助win32api调用Excel打开xlsx文件,不对文件进行修改的情况下保存一次,这样Excel会计算公式结果,之后再用openpyxl就能读取到公式结果了。
处理代码如下:

from win32com import client as wc

xl = wc.DispatchEx("Excel.Application")
wb = xl.workbooks.open("your xlsx file path")
xl.Visible = False
wb.Save()
xl.Quit()

你可能感兴趣的:(Python openpyxl 解决获取公式计算结果为None的问题)