matlab与excel在数据交互时,xlswrite提示服务器出现意外情况的解决办法

在matlab命令行运行xlswrite('myExample.xlsx',[headers;values]);时,出现如下错误

Error using xlswrite (line 220) 

Error: 服务器出现意外情况

      浏览各个博客之后,发现xlswrite函数在调用的时候会占用excel的com端口,所以在调用xlswrite时要保证这个端口是开放的,也就是没有别其他程序所占用。打开任意一个excel(我的是16版)文档,点击文件--选项,弹出excel选项卡,在加载项中可以看到,活动应用程序加载项,以及非活动应用程序加载项;如下图所示

我经常使用福昕阅读器,该程序占用了excel的com端口,所以当Matlab再去调用这个端口时就会出现异常​。具体解决方法如下:点击管理旁边的下拉菜单,选择COM加载项,点击转到,把福昕阅读器的前面的勾去掉,然后确定。如下图所示:


即可解决该问题

附一段演示代码:

%%%%%将matlab产生的数据导入到excel中并读取
clear 
clear all
clc
values=randn(3,100);   %%产生数据
xlswrite('myExample_2.xlsx',values);  %%%将产生的数据以myExample_2.xlsx为文件名写入excel中

%%%从excel的第一个worksheet中读取数据   %%%读取全部数据
filename='myExample_2.xlsx';   
A=xlsread(filename);

%%%%从excel中读取局部数据
filename='myExample_2.xlsx';
sheet=1;
xlRange='B2:C3';
subsetA=xlsread(filename,sheet,xlRange)
%%%读取B2:C3部分的数据

%%%%从excel文件myExample_2.xlsx中读取一整列的数据
filename='myExample_2.xlsx';
columnB=xlsread(filename,'B:B')

%%%读取数值型‘文本型和未处理的数据
[numdata,textdata,alldata]=xlsread('myExample_2.xlsx')



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值