matlab 调用不同版本 excel 读取数据结果不同

版权声明:本文为博主原创文章,如能帮助到各位,荣幸之至,欢迎转载。 https://blog.csdn.net/m0_37639589/article/details/79672629

matlab 调用不同版本的 excel 读取数据结果不同吗?

缘起

这篇博客的文章标题其实就很另我苦恼,因为我不知道该用怎样的名字就描述这个错误,实在是太滑稽了。
这是个相当罕见的问题,如果用户没在不同环境下测试过代码根本不会遇到这种情况。我是帮人做了一个项目,
项目代码在自己计算机运行正常,但是最终交付给客户,客户却反馈说存在问题。与是我进行调试,发现是
读取数据的结果存在差异,这另我十分震惊。于是,决意写一遍博客记录这件事情。

matlab 读取 excel

首先我们得解释一下,matlab 是怎么读取 excel 文件的。在我的博客中,matlab 实战文件与数据接口一书的笔记
中对相关原理和用法有比较详细的阐述,感兴趣可以看一下。我这边想指出的是,matlab 中读取 excel 类型
文件的数据一般要通过调用 excel 服务来实现,如果计算机没有安装 excel 就只能以基本模式读取文件,并且在
功能上有所限制。正是正常情况下,matlab 读取 excel 文件需要调用服务,所以我才怀疑是 excel 版本
不同导致结果异常。

实情

我的计算机环境是 windows7 旗舰版,matlab 2016b,excel2016客户的是 windows10 ,matlab 2016b,excel2013。
错误的代码如下:

filename = '全部区间涨跌幅.xlsx';
[num,~,raw] = xlsread(filename);

就是用到了 xlsread 函数,加之我们用的 matlab 版本一致,这段代码前还有一个读取 excel 文件
的步骤,但是之前的结果是相同的,所以我才非常困惑。最终,只能怀疑到 excel 的版本上。

错误数据文件,密码 d5xt

有兴趣的朋友可以一试。

反思与建议

excel 应用很广,但是说实在的,对于我们只是利用它储存数据而言,没有必要将数据保存成 excel
格式 csv 格式应用更为广泛与安全。这种错误极为要命,如果有朋友知道这个问题,还望不吝赐教。

猜你喜欢

转载自blog.csdn.net/m0_37639589/article/details/79672629