MATLAB Answers

0

Error importing excel table into app designer table

Asked by Tamim Hussain on 27 Sep 2018
Latest activity Commented on by Kojiro Saito on 25 Dec 2018
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

Show 1 older comment
Hi, I think it’s because my csv data has date and times in a few columns and cell arrays do not support that data type. Would there be a way around this so that I’m able to import date/time fields?
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.
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.

Products


Release

R2018b

2 Answers

Answer by Kojiro Saito on 5 Oct 2018
 Accepted Answer

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.

  1 Comment

This worked! Thank you so much, really appreciate your help!

Sign in to comment.


Answer by 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!!

  1 Comment

Could you give more detail information (codes or mlapp and csv data) to investigate why the error occurs, please?

Sign in to comment.