How to write data to an excel file?

22 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2019-5-1
In the majority of cases you should create the variables as with tables columns not rows

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2019-5-1
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 个评论
VR
VR 2019-5-1
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 2019-5-1
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.

请先登录,再进行评论。

更多回答(0 个)

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by