【无标题】

文章讲述了在MATLAB中使用xlsread函数读取xlsx文件报错,以及Excel直接打开xlsx文件失败的相似问题。问题根源可能是WPS保存的文件导致的兼容性问题。解决方案是将文件后缀名改为xls,用Excel打开并保存为xlsx格式,从而解决MATLAB的读取错误。
摘要由CSDN通过智能技术生成

解决MATLAB以及Excel读取文件失败问题

当我们使用MATLAB或者Excel打开xlsx表格文件时可能会碰到打开失败的问题,具体表现如下:

1.MATLAB

在MATLAB中使用如下类似代码:

f=500;
%使用xlsread函数读取文件
aref=xlsread(['ref/',num2str(f),'.xlsx']);%reference

然后报错如下:

错误使用 xlsread (line 257)
调用错误,调度异常:
源: Microsoft Excel
说明: Excel 无法打开文件“500.xlsx”,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
帮助文件: xlmain11.chm
帮助上下文 ID: 0

2.Excel

使用Excel打开表格文件报错如下:
在这里插入图片描述直接打开报错

3.原因及其解决办法

这两个问题的原因是一致的,在排除文件格式损坏的前提下,多半为使用WPS的表格保存文件所致,网上提供的方法多为matlab调用WPS兼容性问题是需要重新采集数据并保存文件的,这里提供一种不需要重新采集数据的做法:
直接将后缀名改为xls,这时用Excel打开提示会变为:
在这里插入图片描述修改后缀名的结果,直接点是打开即可
再打开后将源文件使用Excel再保存为xlsx格式即可,再次打开就没有问题了,这时使用matlab的xlsread函数读取文件也不会报错了。
这里简单说下原因,2007及之后版本的Excel文件是.xlsx格式,而xls是2003版本以前的格式,这说明WPS的底层是支持.xls的,但不支持.xlsx格式,类似的问题也可以用这种思路解决,即保存为早期版本,本质上都是兼容性的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值