openpyxl.load_workbook(file, data_only=True 不起作用?

Ras*_*ola 5 python excel openpyxl

为什么 x =“无”而不是“500”?我已经尝试了我所知道的一切,并搜索了 1 小时的答案...感谢您的帮助!

import openpyxl

wb = openpyxl.Workbook()
sheet = wb.active
sheet["A1"] = 200
sheet["A2"] = 300
sheet["A3"] = "=SUM(A1+A2)"

wb.save("writeFormula.xlsx")

wbFormulas = openpyxl.load_workbook("writeFormula.xlsx")
sheet = wbFormulas.active
print(sheet["A3"].value)

wbDataOnly = openpyxl.load_workbook("writeFormula.xlsx", data_only=True)
sheet = wbDataOnly.active
x = (sheet["A3"].value)
print(x) # None? Should print 500?
Run Code Online (Sandbox Code Playgroud)

小智 5

有一种简单的方法可以启动 Excel 并更新公式值。

示例代码片段

import win32com.client as win32

excel = win32.gencache.EnsureDispatch('Excel.Application')
workbook = excel.Workbooks.Open(inputFile)
workbook.Save()
workbook.Close()
excel.Quit()        
    
# And for reading the data back we can use data_only mode as True.
oxl = openpyxl.load_workbook(inputFile,data_only=True)
Run Code Online (Sandbox Code Playgroud)


Cha*_*ark 4

文档中

openpyxl 从不评估公式