How to write data to an excel file?

In the process of learning how to write data to an excel file, I learnt that I should first write it as a table. So I gave it a try but what my code does is write two row vectors as one long row vector. I wanted to write two variables as two separate rows. Here is my attempt:
(My final goal is to save my workspace data to an excel file.)
data1 = 1:1:10;
data2 = 10:10:100;
data =[data1; data2];
T1 = table(data);
writetable(T1)

1 Comment

In the majority of cases you should create the variables as with tables columns not rows

Sign in to comment.

 Accepted Answer

The table function prefers column vectors. I would save them as columns:
data1 = 1:1:10;
data2 = 10:10:100;
data =[data1(:), data2(:)];
T1 = table(data);
You can convert them back to row vectors later, if necessary, when you read the file. It is best to provide the path name as well as the file name to writetable. This way, you know where it is and what its name is. If you want to save it as an Excel file, be sure that you designate the '.xlsx' extension.

2 Comments

Thanks for your suggestions. I tried this and got an error:
data1 = 1:1:10;
data2 = 10:10:100;
data =[data1(:) data2(:)]; % to make them column vectors
T1 = table(data);
T1.Properties.VariableNames = {'Name' 'Age'}
writetable(T1, 'Table.xls', 'Sheet', 'MySheetName')
Error is: The VariableNames property must contain one name for each variable in the table.
As always, my pleasure.
Create ‘T1’ as:
T1 = table(data1(:),data2(:), 'VariableNames',{'Name' 'Age'});
That works.
Concatenating the variables as one variable is permitted, although if you want to give them different names, you need to have the number of columns equal the number of variable names.

Sign in to comment.

More Answers (0)

Products

Tags

Asked:

VR
on 1 May 2019

Commented:

on 1 May 2019

Community Treasure Hunt

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

Start Hunting!