[Matlab App Designer] UITtable 显示/输入数据 您所在的位置:网站首页 怎么能修改app数据 [Matlab App Designer] UITtable 显示/输入数据

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

2023-08-14 06:31| 来源: 网络整理| 查看: 265

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

一 显示外部数据功能

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

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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有