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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容