How to write data to an excel file?

26 views (last 30 days)
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
Walter Roberson
Walter Roberson on 1 May 2019
In the majority of cases you should create the variables as with tables columns not rows

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 1 May 2019
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
VR
VR on 1 May 2019
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.
Star Strider
Star Strider on 1 May 2019
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)

Tags

Products

Community Treasure Hunt

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

Start Hunting!