openpyxl
庫可以非常方便的處理xlsx
文件抵代,但是這個庫修改過xlsx
文件之后萄金,如果再次用openpyxl
打開該文件攀唯,會發(fā)現(xiàn)無法獲取到公式的計算結(jié)果洁桌,即可以獲取到公式,但是無法獲取公式結(jié)果侯嘀,返回一個None
另凌。
這是因為openpyxl
修改xlsx
過后不會對公式進行計算谱轨,導(dǎo)致了公式結(jié)果丟失,自然也就讀取不到公式結(jié)果了途茫。
想解決這個問題可以借助win32api
調(diào)用Excel
打開xlsx
文件碟嘴,不對文件進行修改的情況下保存一次溪食,這樣Excel
會計算公式結(jié)果囊卜,之后再用openpyxl
就能讀取到公式結(jié)果了。
處理代碼如下:
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()