MATLAB Answers

michio
1

Exported formulas on excel sheets resulted in text which would not be evaluated automatically

Asked by michio
on 18 Oct 2019
Latest activity Commented on by michio
on 28 Oct 2019 at 3:29
According to the past post, simply using xlswrite and writecell to export formula as text (char/string) will result in formulas in Excel.
However executing the following on R2019a, Windows 10.
a={'1','2','=sum(a1,b1)'}
a(2,:)={'4' '5' '=sum(a2,b2)'}
a(3,:)={4, 5 ,'=sum(a3,b3)'}
% xlswrite('Book.xls',a)
writecell(a,'Book.xls')
creates the following.
Do we need any set-up on Excel side or is there anything that can be done from MATLAB side? Using ActiveX is of course an option, but I'm looking for simpler option.

  0 Comments

Sign in to comment.

Products


Release

R2019b

1 Answer

Answer by Walter Roberson
on 18 Oct 2019
 Accepted Answer

That post does not say that the formulas will be executable once written by xlswrite.
None of the table based operations such as writetable or writecell are able to create executable formulas. You will need to use ActiveX methods.

  6 Comments

So I guess the key is to have an extension of .xlsx rather than .xls.
It was indeed for xlswrite, but neither of them works (as in the formulas executable) with writecell.
Setting 'UseExcel' to true resolves the issue with writecell.
a={'1','2','=sum(a1,b1)'}
a(2,:)={'4' '5' '=sum(a2,b2)'}
a(3,:)={4, 5 ,'=sum(a3,b3)'}
writecell(a,'Book.xls','UseExcel',true)

Sign in to comment.