Rename titles of sheets for xlswrite

1 Ansicht (letzte 30 Tage)
JB
JB am 18 Sep. 2017
Beantwortet: Walter Roberson am 18 Sep. 2017
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

Antworten (1)

Walter Roberson
Walter Roberson am 18 Sep. 2017
xlsinfo() can tell you the current names of the sheets.

Kategorien

Mehr zu Use COM Objects in MATLAB finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by