Converting a cell array to excel file using write table - how to add headers and sheet name?

11 vues (au cours des 30 derniers jours)
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!

Réponse acceptée

Voss
Voss le 9 Fév 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 commentaires
Paul Barrette
Paul Barrette le 9 Fév 2024
This solution looks after both the sheet names and the headers. Thanks.
You're making this look so easy, @Voss.

Connectez-vous pour commenter.

Plus de réponses (1)

VBBV
VBBV le 9 Fév 2024
Modifié(e) : VBBV le 9 Fév 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 commentaires
VBBV
VBBV le 9 Fév 2024
Declare the sheetNames as cell array and access the elements of cell array using the index of for loop
VBBV
VBBV le 9 Fév 2024
Modifié(e) : VBBV le 9 Fév 2024
The '(' ')' are usually used as function definition calls, you could also use concatenation operator [ ] instead of curly braces { }

Connectez-vous pour commenter.

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by