Converting a cell array to excel file using write table - how to add headers and sheet name?
11 views (last 30 days)
Show older comments
I am able to convert the 'THRESH_DATA' variable inside the attached to an Excel file - this is how my code does it (thanks, @Voss):
filename = 'THRESH_DATA.xlsx';
n = size(THRESH_DATA,1);
for ii = 1:n
T = table(THRESH_DATA{ii,:});
writetable(T,filename,'Sheet',ii);
end
The next step (which I was hoping to handle myself) is to include column headers and sheet names. For sheet names, I thought of:
% sheetNames = ('2000', '2001', '2002','2003', '2004', '2005','2006', '2007', '2008','2009', '2010', '2011',...
% '2012', '2013', '2014','2015', '2016', '2017','2018', '2019', '2020','2021', '2022');
writetable(T,filename,'Sheet',ii,'sheetNames')
but that doesn't work. Drawing from other posts (most using xlswrite), I thought I could used variableNames, somehow. Thanks!
Accepted Answer
Voss
on 9 Feb 2024
filename = 'THRESH_DATA.xlsx';
sheetNames = string(2000:2022);
% replace this with the variable names you want:
varNames = ["Time","X","Y","Z","AA","BBB","LMNOP","EIGHT","NOINE"];
n = size(THRESH_DATA,1);
for ii = 1:n
T = table(THRESH_DATA{ii,:},'VariableNames',varNames);
writetable(T,filename,'Sheet',sheetNames(ii));
end
2 Comments
More Answers (1)
VBBV
on 9 Feb 2024
Edited: VBBV
on 9 Feb 2024
sheetNames = {'2000', '2001', '2002','2003', '2004', '2005','2006', '2007', '2008','2009', '2010', '2011',...
'2012', '2013', '2014','2015', '2016', '2017','2018', '2019', '2020','2021', '2022'};
writetable(T,filename,'Sheet',sheetNames{ii})
2 Comments
VBBV
on 9 Feb 2024
Declare the sheetNames as cell array and access the elements of cell array using the index of for loop
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!