话不多说,直接上干货!
首先从组件库向画布中分别拖入一个表格控件、三个按钮控件、一个编辑字段(数值)控件,三个控件分别命名为导入数据、增加、删除
一、导入数据
1、右键点击导入数据, 选择回调;
2、输入代码(这里的t在后续控件中会使用到,所以先在这里将t定义为全局变量)
global t
t=readtable('matlab.xlsx'); %matlab.xlsx为excel文件名
app.UITable.Data=t; %app.UITable为在画布中添加的表格控件名称
注:readtable可以读取多种类型文件并将其转换为表格、代码中将读取的数据借助t赋给画布中表格控件数据,app.UITable.Data
以上就完成了给app designer导入数据部分。
二、在画布中增加自定义数据
1、右键点击增加, 选择回调;
2、在跳出来的代码区写入以下代码:
%开始增加数据,赋值给表格
global t %转换为全局变量
app.UITable.Data=[t;nr]; %这种方式每次增加的数据会覆盖掉上一次的数据
% app.UITable.Data=[app.UITable.Data;nr] %可以不覆盖增添的数据并继续增加新数据
注:这里写了两种增加数据方法,一种是先将上一次增加的数据清零,再去添加新数据;另外一种是保留上一次增加的数据,继续增加新数据。
以上就是在表格中增加新数据的方法。
三、删除表格内容
删除表格内容,此处使用先输入要删除的行,再点击删除按钮对表格内容进行删除,选择删除按钮中的回调写入代码,详细代码如下:
com_n=app.EditField.Value;
app.UITable.Data(com_n,:)=[];
将输入框的值(即要删除的行数)赋给com_n,然后点击删除,就可删除指定表格中的行。
如果要判断删除行的值是否满足某个条件,然后再进行删除,可以使用如下代码:
%根据判断语句进行删除
if app.UITable.Data{com_n,2}>2.5
app.UITable.Data(com_n,:)=[];
end
此处设置的为删除行的第二列的值是否大于2.5,如果是则会进行删除,如果不是则不执行删除操作。