Clear Filters
Clear Filters

how to save the data of an opened file by uigetfile in the workspace

5 views (last 30 days)
hello all,
i want to create a window that would be opened by a pushbutton, to open a file (a txt file) and then to load it to the workspace of matlab, i tried this code, it worked correctly but in the end i found nothing in the workspace, it doesn't save the data
filename = uigetfile('*.txt*', 'All Files (*.txt*)');
filename = uiimport(filename);
thank you.

Accepted Answer

Geoff Hayes
Geoff Hayes on 21 Jul 2016
imene - rather than re-using the same variable name for the data that is being imported, try
filename = uigetfile('*.txt*', 'All Files (*.txt*)');
data = uiimport(filename);
Now data is a struct that has the data that you have imported..which is in the workspace of your pushbutton callback. Depending upon how you have developed your GUI, you can either save this data to the handles structure (if using GUIDE) or you can save it to a local variable within your parent function that creates the GUI (assuming that you have nested your callback within that parent).
  8 Comments
imene. B
imene. B on 21 Jul 2016
but how can i do that from within the GUI ? and as shown in the passed comment, i used assignin but it doesn't work too
imene. B
imene. B on 21 Jul 2016
i solved it :)
filename = uigetfile('*.txt*', 'All Files (*.txt*)');
data = load(filename);
(assignin('base','data',data));
the tric is in 'load'
thank you Geoff for your help :)

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!