function
SaveXlsAsXlsx(filename)
xlWorkbookDefault = 51;
xlExclusive = 3;
xlNoChange = 1;
xlShared = 2;
xlLocalSessionChanges = 2;
xlOtherSessionChanges = 3;
xlUserResolution = 1;
[folder, baseFileName, extension] = fileparts(filename);
if
~strcmpi(extension,
'.xls'
)
error(
'filename not .XLS type. Aborting.'
)
end
try
Excel = matlab.io.internal.getExcelInstance;
catch
exc
warning(message(
'MATLAB:xlsread:ActiveX'
));
basicMode = true;
end
readOnly = false;
[~, workbookHandle,workbookState] = openExcelWorkbook(Excel, filename, readOnly);
c = onCleanup(@()xlsCleanup(Excel,filename,workbookState));
filename=fullfile(folder, baseFileName,
'.xlsx'
);
workbookHandle.SaveAs(filename,xlWorkbookDefault)
workbookHandle.Close(false);
end
function
xlsCleanup(Excel, filePath, alertState)
try
[~, name, ext] = fileparts(filePath);
fileName = [name ext];
Excel.Workbooks.Item(fileName).Close(false);
Excel.DisplayAlerts = alertState;
end
end