Define filname for exported data with GUI

3 views (last 30 days)
Hi guys,
I would like to define the name of an exported xls file via GUI, so I added the following commands to a "filename_callback":
contents=cellstr(get(hObject,'String'));
filename=[contents{get(hObject,'String')}];
assignin('base','filename',contents);
in the next step I use the following command to save my Matrix "results":
save('results','filename','xls');
The Excel-file should have the name, that I add in GUI, but I'm always receiving the error: Error using save Variable 'filename' not found.
Does anybody have an advice?

Accepted Answer

Ingrid
Ingrid on 21 Dec 2015
the save command saves the data in .mat format by default. It is not possible to write to xls format with this command, only to ascii if specified by the options. What you are probably looking for is xlswrite
xlswrite(filename,results)
  2 Comments
Benno Boehm
Benno Boehm on 22 Dec 2015
Thanks Ingrid, xlswrite(filename,results) works! Is there a command with which I can define "filename" via GUI. I gues my commands:
contents=cellstr(get(hObject,'String'));
filename=[contents{get(hObject,'String')}];
assignin('base','filename',contents);
are not working, because I can not define the variable "filename" with a word!
Ingrid
Ingrid on 22 Dec 2015
why not just use
filename = get(hObject,'String');
before calling
xlswrite(filename,results)
I do not see why you want to assign the variable to your base workspace as this is not necessary

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!