Python中,openpyxl讀取excel公式值,結果為None
在用python創建excel文件時,以data_only=True或默認data_only=False打開會得到兩種不同的結果,用data_only=True狀態下打開,如果最后用save()函數保存了,則原xlsx文件中,公式會被替換為常數結果或空值。而data_only=False狀態下打開,最后用save()函數保存了的話,原xlsx文件也會只剩下data_only=False的那套值(即公式),另一套(data_only=True)的值會丟失,如想重新獲得兩套值,則仍舊需要用Excel程序打開該文件並保存。
solution 在需要data_only=true的前面open一下 :
from win32com.client import Dispatch
def just_open(filename):
xlApp = Dispatch("Excel.Application")
xlApp.Visible = False
xlBook = xlApp.Workbooks.Open(filename)
xlBook.Save()
xlBook.Close()