Changing the name of the sheet in excel

139 Ansichten (letzte 30 Tage)
Gopalakrishnan venkatesan
Kommentiert: qing sheng am 27 Jan. 2022
I want to change the names of sheets in excel and then i need to perform the write operation on those sheets?
Is it possible to do with xlswrite?

Akzeptierte Antwort

Thomas Koelen
Thomas Koelen am 8 Mai 2015
You can use ActiveX directly from MATLAB:
xlswrite('test.xls',1) % # create test file
e = actxserver('Excel.Application'); % # open Activex server
ewb = e.Workbooks.Open('c:\test\test.xls'); % # open file (enter full path!)
ewb.Worksheets.Item(1).Name = 'new name'; % # rename 1st sheet
ewb.Save % # save to the same file
ewb.Close(false)
e.Quit
Be careful while testing, it overwrite the original file. Make a backup.
  6 Kommentare
Laura Stewart
Laura Stewart am 10 Sep. 2020
Be warned if using @Enri solution it will populate the data to the Excel File as text.
This was problematic as I was exporting a matrix of cells with Excel functions (so the Excel user could open the file and easily track and modify the cell values if needed) and once the data was in Excel the cells had to be modified to a number type, then clicked & modified (space added then deleted), and entered one-by-one to show the function value.
qing sheng
qing sheng am 27 Jan. 2022
Hi! I am new to coding, when I using it in a for loop, it broke and warned me error code 0x800A01A8. So could you please find me a solution?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Ilias Patsiaouras
Ilias Patsiaouras am 9 Sep. 2019
Is this code portable for linux and Windows cause I think linux doesnt have ActiveX

Community Treasure Hunt

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

Start Hunting!

Translated by