Open Excel files in Apps Designer

48 views (last 30 days)
Mo
Mo on 10 Dec 2022
Edited: Voss on 10 Dec 2022
Hi
I created an App in Matlab and the Push button only opens the Excel file that are already created and saved. I want to open any Excel file in future and not only the saved file. This is my push button function in Apps Designer and it only works with the "File.xlsx" that I saved the data before. I want to add new data (new spreadhseet) or select another excel file and run the function. I also have a Drop down button the select the sheet.
% Button pushed function: OpenFileButton
function OpenFileButtonPushed2(app, event)
sheetNames= app.SheetsDropDown.Value;
t=readtable("file.xlsx","Sheet",sheetNames);
app.UITable.Data=t;
t.Properties.VariableNames{1}='x';
t.Properties.VariableNames{1}='y';

Accepted Answer

Cris LaPierre
Cris LaPierre on 10 Dec 2022
You must pass a vaid file name to readtable. Consider modifying your code to incorporate uigetfile, which will allow your users to interactively select the file to use.
  3 Comments
Voss
Voss on 10 Dec 2022
@Mo: uigetfile returns the name of the selected file. You still have to pass that file name to readtable in order to read the file:
% Button pushed function: OpenFileButton
function OpenFileButtonPushed2(app, event)
[filename,pathname] = uigetfile('*.xlsx');
if isnumeric(filename) % user clicked Cancel
return
end
sheetNames = app.SheetsDropDown.Value;
t = readtable(fullfile(pathname,filename),"Sheet",sheetNames);
app.UITable.Data=t;
t.Properties.VariableNames{1}='x';
t.Properties.VariableNames{1}='y';
% ...
end
Mo
Mo on 10 Dec 2022
Thanks. That's great

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!