首页 文章

MATLAB中的xlsread函数是否需要Excel?

提问于
浏览
2

我有两台具有相同MATLAB代码和相同Excel文件(.csv格式)的计算机 . 该代码仅适用于具有Excel的计算机 . 我想不出任何其他差异 .

计算机是否需要Excel才能使xlsread正常工作?我得到的错误是一种无法识别的格式 .

如果是这种情况,有没有获得Excel的任何简单的解决方法?

编辑:似乎不需要Excel . 也许问题是该文件是.csv?毕竟这是格式错误 . 我无法想象为什么同一格式的文件在我的另一台计算机上工作 .

已解决:.csv文件是问题 . 对于读取.csv文件,matlab的importdata()函数被证明是非常通用的 .

3 回答

  • 6

    xlsread(filename,sheet,xlRange,'basic') 将在您的计算机上未安装Excel的情况下运行 .

    其他附加参数将需要安装Excel .

    Matlab可以原生导入字符分隔文件 .

  • 3

    我没有在没有Excel的计算机上使用 xlsread ,所以我不能确定 . 但根据documentation Excel没有必要;你只会失去一些功能:

    num = xlsread(filename,sheet,xlRange,'basic')以基本导入模式从电子表格中读取数据 . 如果您的计算机没有适用于Windows®的Excel,则xlsread会自动以基本导入模式运行,该模式支持XLS,XLSX,XLSM,XLTX和XLTM文件 . 基本模式是没有Excel for Windows的计算机的默认模式 . 在基本模式下,xlsread:仅读取XLS,XLSX,XLSM,XLTX和XLTM文件 . 在读取XLS文件时不支持xlRange输入 . 在这种情况下,使用''代替xlRange . 不支持函数句柄输入 . 将所有日期导入为Excel序列号 . Excel序列日期编号使用与MATLAB®日期编号不同的参考日期 .

    所以,也许问题是你使用 basic 模式不支持的一些选项调用 xlsread .

  • 2

    根据this page

    如果您的系统安装了Excel®forWindows®,包括COM服务器(典型安装Excel的一部分):所有MATLAB®导入选项都支持XLS,XLSX,XLSB,XLSM,XLTM和XLTX格式 .

    ...

    如果您的系统没有安装Excel for Windows,或者COM服务器不可用:所有MATLAB导入选项都读取XLS,XLSX,XLSM,XLTM和XLTX文件 .

    但是,如果您只是尝试导入逗号分隔的ASCII文件,那么 xlsread 是过度杀戮和超级慢 . 如果您的数据是纯数字,请使用csvreaddlmread . 如果您的数据是混合的,请改用textscan .

相关问题