[Matlab App Designer] UITtable 显示/输入数据

本文介绍了使用MATLAB创建用户界面的过程,包括如何显示外部数据、使表格列可编辑及转换数据类型等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在为论文编写一个UI界面,记录一下学习过程,也方便自己后续需要的时候回顾。

一 显示外部数据功能

  1. 链接外部数据(Access数据库或Excel表),进而显示在 UITable上
    这个通过直接赋值即可实现:
    data = readtable(‘excel文件名称.xlsx’);
    app.UITable.Data = data;

  2. 通过点击按钮,选择文件的方式导入数据(代码还包括了在文本框上显示文件路径)

     function SelectButtonPushed(app, event)          % 因为filename 需要在另一个函数中应用,故在属性中进行了声明
         [app.filename, pathname] = ...                        % app.filename 接受文件名; pathname接受路径名称
         uigetfile({'*.xlsx';'*.xls';'*.*'},'File Selector');     % 规定可选的文件类型
         pathname = string(pathname);
         app.filename = string(app.filename);
      if isequal(app.filename,0)||isequal(pathname,0)
         return;
      else
          app.fileText.Value=pathname+app.filename;
      end
     end
    

在另外的函数中读取该文件

data = xlsread(app.filename);   % 如果是只需要读取数据,不需要在UI中创建一个表显示,则用xlsread
% data = readtable(app.filename) ; % 如果需要同时在UI中创建一个显示该数据的表,则用 readtable

二、用户输入/更改数据

选中UItable,在属性栏可以修改每一列的可编辑性,则运行后,可以在表上进行数据的输入/更改
在这里插入图片描述
【20210308更新】
开发的过程中发现我需要在生成表的时候,就使得表的某些列具备可修改、不可修改的性质
因此更新一下用代码直接实现表列的可编辑性功能

 logic_i = [0 0 1 0];                   % 表中只有第3列可编辑(逻辑值为1(true))
 L = logical(logic_i);                  % 将数值数组转换为逻辑值数组
app.UITable.ColumnEditable=L;  % 给表的ColumnEditable属性赋值

三、更改数据类型

因为我后面需要对读取的数据进行数值运算,因此需要将读取得到的table类型数据转换为double类型
因为不知道转换函数,就试着用了double,得到错误提示
在这里插入图片描述
进而使用table2array将数据转换为了double类型

因为我自己也是初学,从网上一点点找资料学习,可能会有一些理解错误,或者编码多余的地方。如果有其他朋友看到,仅供参考,也欢迎指出。

以上参考了matlab的官方文档和示例:https://ww2.mathworks.cn/help/matlab/creating_guis/display-an-interactive-table-in-app-designer.html

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值