chronossc/openpyxl

Openpyxl 'data_only=True' shows Excel formula filed value as 'None'

Closed this issue · 0 comments

Please find below code.
I am writing into Excel fields and wanted to read Excel formula filed value.

Even if I am using 'data_only=True' I am getting None as an output.

I tried it on Windows as well as on Linux platfrom.
Could you please help on this?


fname='/opt/riskapi/e.xlsx'
myworkbook = openpyxl.load_workbook(fname)
ws1 = myworkbook.get_sheet_by_name('Sheet1')

ws1['K11']=101
ws1['K12']=102

myworkbook.save(fname)

wb = openpyxl.load_workbook(fname, data_only=True)
ws1 = wb['Sheet1']

print(ws1['J18'].value)
print(ws1['J18'])

wb = openpyxl.load_workbook(fname)
ws1 = wb['Sheet1']

print(ws1['J18'].value)
print(ws1['J18'])



Output

#with data_only=True
None <---------------------Shows None value
<Cell 'Sheet1'.J18>

#Without data_only=True
=INDIRECT("j"&MATCH(C17,K11:K12,0)+10)
<Cell 'Sheet1'.J18>