在 MATLAB App Designer 中将数据从 excel 读取到表中
Posted
技术标签:
【中文标题】在 MATLAB App Designer 中将数据从 excel 读取到表中【英文标题】:Read data from excel to table in MATLAB App Designer 【发布时间】:2020-08-24 11:28:56 【问题描述】:晚上好 我正在尝试开发一个 MATLAB GUI,用户可以在其中手动在表格中输入数据或附加一个 Excel 文件夹,该文件夹将复制表格中 Excel 工作表中的数据。 我的代码行是
function AttachExcelFolderButtonPushed(app, event)
[filename pathname]=uigetfile('*.xlsx','File Selector');
text = readtable(filename, "Sheet",1);
app.UITable.Data = text;
end
我收到以下错误:
使用 readtable 时出错(第 223 行) 无法将文件“Book1.xlsx”作为工作簿打开。检查文件是否存在、读取权限是否可用以及该文件是有效的电子表格文件。
请帮忙 注:我是新手 谢谢你
【问题讨论】:
您的代码中有一个变量fullpathname
从未使用过。
我认为不会产生错误,但感谢您的回复,我将删除该行
【参考方案1】:
我的猜测是路径上没有你想要的文件。试试这条线:
text = readtable([pathnaem filename], "Sheet",1);
这将使用文件的整个路径来查找它。否则 MATLAB 将只查找当前路径上的文件。
【讨论】:
非常感谢您的回复 成功了!但它不显示第一行,应用程序窗口消失,当我从桌面栏再次打开它时,它显示从第二行开始的值 这与readtable
中的其他属性有关。将行更改为text = readtable([pathnaem filename], "Sheet",1, ReadVariableNames',false)
以获取第一行。我不知道你说的另一个问题是什么意思。
它有效。非常感谢 - 我希望我能用一个小视频回复 - 当我按“附加 excel 文件”时,浏览到我的文档文件夹,选择“表格 1”,然后双击文件,屏幕关闭并我必须从 Windows 10 的底部栏中重新打开它,表格显示并运行应用程序。
听起来很奇怪。可能是一个错误。我唯一能想到的尝试是:waitfor([filename pathname]=uigetfile('*.xlsx','File Selector'));
程序告诉我:错误使用 app1 错误:文件:app1.mlapp 行:21 列:40 '=' 运算符的使用不正确。要为变量赋值,请使用“=”。要比较值是否相等,请使用“==”。以上是关于在 MATLAB App Designer 中将数据从 excel 读取到表中的主要内容,如果未能解决你的问题,请参考以下文章
MATLAB App Designer 特别篇:RGB颜色提取器