How to create multiple excel sheets in Matlab?

20 visualizzazioni (ultimi 30 giorni)
I have 2 tables, and I am trying to use writetable commend to create Excel sheet. When I try to have more than one sheet, it would not work. It just overwrites the first sheet. This is piece of script I use: By the way, I am running Matlab on a Macbook.
A = randn(5,5);
Tab1 = table(A,'VariableNames',{'X1' 'X2' 'X3' 'X4' 'X5'});
B = rand(5,1);
Tab2 = table(B,'VariableNames',{'Y1'});
sheet = 1;
writetable(Tab1,filename,'sheet',1,'Range','A1')
sheet = 2;
writetable(Tab2,filename,'sheet',1,'Range','A1')
Can you give me some tips? Thanks.

Risposta accettata

OCDER
OCDER il 12 Set 2017
Looks like you're overwriting sheet 1 in the last line of your script.
sheet = 1;
writetable(Tab1,filename,'sheet',1,'Range','A1')
sheet = 2;
writetable(Tab2,filename,'sheet',1,'Range','A1') %This is overwriting sheet 1
Try this:
sheet = 1;
writetable(Tab1,filename,'sheet',sheet,'Range','A1')
sheet = 2;
writetable(Tab2,filename,'sheet',sheet,'Range','A1')
  1 Commento
OCDER
OCDER il 12 Set 2017
Modificato: OCDER il 12 Set 2017
Haha, looks like 3 of us submitted an answer at the same time. Matlab Answer should provide a notice when hitting "Submit" button - "There has been new activity / answer to this question. Check?"

Accedi per commentare.

Più risposte (2)

Image Analyst
Image Analyst il 12 Set 2017
Since sheet is a variable that you set but never use, how about you use it???
writetable(Tab2, filename, 'sheet', sheet, 'Range', 'A1')

KL
KL il 12 Set 2017
Modificato: KL il 12 Set 2017
sheet1 = 1;
writetable(Tab1,filename,'sheet',sheet1 ,'Range','A1')
sheet2 = 2;
writetable(Tab2,filename,'sheet',sheet2,'Range','A1')
You should just use that sheet variable in the command. You missed it pretty close.

Community Treasure Hunt

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

Start Hunting!

Translated by