Matlab-为什么有时xslread不允许使用数字作为工作表参数?

勒米

我想用xlsread函数使用matlab读取10张Excel文件:

SPLByFrequency = zeros(173, 10);
for i = 1:10
    rawData = xlsread('mediciones', i);
    SPLByFrequency(:, i) = rawData(84:256, 3);
end

这不是我第一次使用数字作为参数来阅读excel表格,而且我从来没有遇到任何问题,但是这次却不允许我这样做,并且出现此错误:

Error using xlsread (line 207)
In basic mode, sheet argument must be a string.

Error in TareaB53 (line 11)
    rawData = xlsread('mediciones', i);

我无法更改此“基本”模式并进行一些调试,我发现奇怪的是xlsread('mediciones',1)可以工作,但不能与其他任何数字一起工作。

做一些研究,我发现有一种方法可以通过使用xlsinfo来获取工作表名称,然后将工作表字符串用作参数来摆脱这个问题,但是我不明白为什么我不能直接使用a数字,为什么我只能用数字1来做,还是为什么我一直以数字作为参数却突然不起作用。

有没有办法解决这个问题,并直接使用数字作为工作表参数?

编辑-摘要和新信息

如果未安装Excel for Windowsxlsread则以基本模式运行,因此您不能在工作表参数中使用数字。

因此,出于可移植性,最好使用它xlsinfo来获取工作表字符串。

出于某种原因,即使似乎不应该这样做,(对我而言)它也可以在OS X 10.9上运行。但是,它在OS X 10.11(我的Matlab版本为2012a)上不再起作用。

am304

如注释中所建议,您需要Excel for Windows,否则您处于基本模式。以下是文档中的相关摘录:

num = xlsread(filename)从名为Microsoft®Excel®电子表格文件的第一个工作表中读取数据,filename并返回array中的数字数据num

在具有Microsoft Excel软件的Windows®系统上,xlsread读取您的Excel版本可以识别的任何文件格式。

如果您的系统没有用于Windows的Excel,则xlsread在基本导入模式下运行,并且仅读取XLS,XLSX,XLSM,XLTX和XLTM文件。

我怀疑它曾经起作用过,因为您是在Windows PC而不是Mac上使用它的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么有时我使用| 有时|| 在MATLAB中用于“或”?

为什么LINQ-to-SQL有时允许我使用功能进行项目开发,但有时却不允许呢?

为什么不允许auto作为函数参数?

为什么准备好的语句不允许字段和表名作为参数?

如何更正matlab错误:在此上下文中不允许使用函数定义

为什么 FormRecord 不允许使用对象作为第一个参数?

为什么在带有重复参数的Scala部分中不允许使用默认参数?

为什么在MATLAB中允许使用多个连续的加号语法?

为什么lambda参数不允许使用auto?

Windows资源管理器–为什么有时在文件名中不允许使用@字符?

使用MATLAB表的Sequentialfs

为什么在同一个表达式中使用可变引用和不可变引用有时似乎是允许的,有时却是不允许的?

为什么在涉及 += 运算符的同一表达式中使用可变引用和不可变引用有时似乎是允许的,有时却是不允许的?

为什么不允许使用具有不同数量的模板参数的类/结构声明?

为什么不允许将变量声明作为参数,而将函数声明作为参数?

Matlab为什么使用1-d作为相关距离

Matlab:条件作为参数或变量

当MATLAB文件到达mxSetPr时,MATLAB崩溃

Matlab方法作为属性

为什么C ++不允许将参数作为默认参数?

matlab动态滚动数字

可出版的数字-Matlab

使用Matlab随机分割Excel工作表

fminsearch多参数matlab

用Matlab排序表

如何给Matlab表命名?

在MATLAB中合并表

Matlab 表上的聚合

重塑Matlab表