Error importing excel table into app designer table

11 views (last 30 days)
Hi,
I am a beginner to MATLAB and making an application using App Designer. I have been working and haven't been able to find an answer online, but I am trying to get a button in my app so that; when the button is clicked, I can choose a excel(csv) file to display onto the UI table once chosen.
However, I am receiving the following error; Error setting property 'Data' of class 'Table': Values within a cell array must be numeric, logical, or char
Is there a problem with my code or is this an issue with my data set? My data set contains a mixture of integers, strings, date and time.
Below is my code for the callback on the button;
[filename, pathname] = uigetfile({'*.csv'},'File Selector');
fullpath = strcat(pathname,filename);
x = readtable(fullpath);
app.UITable.Data = table2cell(x);
Many Thanks for your help
  4 Comments
Kojiro Saito
Kojiro Saito on 3 Oct 2018
Is it possible to provide your sample data? Because I've created a dummy csv file as the attached and it works without an error with your above codes. I think it's difficult to investigate why the error occurs without your sample data.
Tamim Hussain
Tamim Hussain on 3 Oct 2018
Edited: Tamim Hussain on 3 Oct 2018
Hi, I have attached the data I am using, you will see there is a field called date posted and time posted (date and time data type in the csv file). Also I tried importing your sample data in App Designer and I still get the same error.

Sign in to comment.

Accepted Answer

Kojiro Saito
Kojiro Saito on 5 Oct 2018
In case of your Journals.csv, you don't need to use table2cell. Just setting a table as a value works.
x = readtable(fullpath);
app.UITable.Data = x;
% Change column name from imported data
app.UITable.ColumnName = x.Properties.VariableNames;
Result in App Designer.
  4 Comments
KRISHNA PATIL
KRISHNA PATIL on 13 Oct 2021
Thank you Kojiro Saito today you made my day as I was looking for someting and got the exact what i want. can you please help me for standaloon application further more. waiting for your reply.

Sign in to comment.

More Answers (1)

sarthak rawat
sarthak rawat on 21 Dec 2018
error:"Struct contents reference from a non-struct array object."
comes in line "app.UITable.ColumnName = x.Properties.VariableNames"
please help!!
  2 Comments
Kojiro Saito
Kojiro Saito on 25 Dec 2018
Could you give more detail information (codes or mlapp and csv data) to investigate why the error occurs, please?
Rubén García García
Rubén García García on 18 Apr 2020
function seleccionararchivoButtonPushed(app, event)
global archivo
[ filname, pathname ] = uigetfile({'*.xlsx'},'File Selector');
fullpathname = strcat(pathname,filname);
archivo = xlsread(fullpathname);
app.Label.Text = filname;
app.UITable.ColumnName = [{'Gb','Ta','Ta','Ts','Flujo'}];
app.UITable.Data = array2table(archivo);

Sign in to comment.

Categories

Find more on Debugging and Analysis in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!