Effacer les filtres
Effacer les filtres

how to link an excel file containing inputs and output columns with Matlab

12 vues (au cours des 30 derniers jours)
Mohsin Munir
Mohsin Munir le 25 Août 2021
Commenté : Mohsin Munir le 31 Août 2021
I have an excel file in which some coulmns have data entered by user and some columns are output using some formula. I dont want to apply these formulae again in Matlab rather i want to link my excel file to matlab so that any change in the input will be directly changed in the Matlab. The columns in excel showing formula shall be read as formula by the Matlab. If anyone knows about it please share

Réponses (2)

dpb
dpb le 25 Août 2021
The builtin functions in MATLAB to read/write Excel files read only the data content from cells, not the formulas contained in cells. To do the latter will require using the ActiveX and writing the VBA equivalent. This is more of an Excel VBA syntax issue than MATLAB.

Walter Roberson
Walter Roberson le 26 Août 2021
I cannot demonstrate here using xlswrite() as it is not supported on this online system. But you can see that for using writecell() instead, it does not work... and it gets odd for .xls files (but does not get odd for xlsx files)
filename = [tempname() '.xls'];
cleanMe = onCleanup(@() delete(filename));
a={'1','2','=sum(a1,b1)'};
a(2,:)={'4' '5' '=sum(a2,b2)'};
a(3,:)={4, 5 ,'=sum(a3,b3)'}
a = 3×3 cell array
{'1'} {'2'} {'=sum(a1,b1)'} {'4'} {'5'} {'=sum(a2,b2)'} {[4]} {[5]} {'=sum(a3,b3)'}
writecell(a,filename)
t = readtable(filename, 'readvariablenames', false)
t = 1×3 table
Var1 Var2 Var3 ____ ____ _______________ 4 5 {'=sum(a3,b3)'}
c = readcell(filename)
c = 3×3 cell array
{'1'} {'2'} {'=sum(a1,b1)'} {'4'} {'5'} {'=sum(a2,b2)'} {[4]} {[5]} {'=sum(a3,b3)'}
[P,Q,R] = xlsread(filename)
Error using xlsread (line 257)
XLS File contains unicode text which is not yet supported.
  1 commentaire
Mohsin Munir
Mohsin Munir le 31 Août 2021
Thanks for the reply. but i am still facing the same problem as mentioned above. I want to link excel formula in the matlab for which i need to have an efficent way.

Connectez-vous pour commenter.

Produits


Version

R2014a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by