Rename titles of sheets for xlswrite
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I need a bit of help to rename my tabels for xlswrite. I try to use the below code which work as long as the title names are different. However, when I have to identical titels like 'table1' in the example it won't work. How can I search the title strings and if two are identical give them an additional number so my Title array becomes Title={'table1 (1)'; 'table2'; 'table3'; 'table4'; 'table1 (2)';}.
Here is my code
Title={'table1'; 'table2'; 'table3'; 'table4'; 'table1';}
[FileNameBodeWrite,PathNameBodeWrite] = uiputfile({'*.xls'},'Save As', [ '.xls']);
filename=[PathNameBodeWrite FileNameBodeWrite];
t=1/numel(Table);
for ii = 1:numel(Table)
sheet=ii;
xlswrite(filename,Table{ii},sheet,'A1');
e = actxserver('Excel.Application'); % # open Activex server
ewb = e.Workbooks.Open(filename); % # open file (enter full path!)
ewb.Worksheets.Item(ii).Name = Title{ii,1} % # rename sheets
ewb.Save % # save to the same file
ewb.Close(false)
e.Quit
end
0 comentarios
Respuestas (1)
Walter Roberson
el 18 de Sept. de 2017
xlsinfo() can tell you the current names of the sheets.
0 comentarios
Ver también
Categorías
Más información sobre Use COM Objects in MATLAB en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!