matlab报错”xlswrite函数的Object returned error code: 0x800A03EC

【总结】“matlab报错”xlswrite函数的Object returned error code: 0x800A03EC

(2013-07-27 09:43:29)
标签: 

xlswrite

 

it

分类: matlab
matlab中使用xlswrite将数据写入Excel文档的时候有时候会出现报错:
Excel returned: Error: Object returned error code: 0x800A03EC.


情况一:
这个报错的原因有多种情况:最常见的情况是用户写入Excel中的数据量超过了Excel能够容纳的容量。Excel2003的工作区间为:65,536行256列。在Excel2010中工作区间有所增加,达到了1,048,576行16,384 列。
所以在遇到这个报错的时候, 可以先尝试写入Excel文档的时候,将相关文档的名字命名为2007以上版本的扩展名(.xlsx),不用03版本的名字(.xls)。但如果数据量超过了Excel2010的容纳范围,就只能将数据拆分存到不同的Excel文件当中。

参考资料:Excel2010说明书  Excel specifications and limits

情况二:
如果Excel的表名(sheetname)中含有冒号(:)也会出现这个报错。例如使用如下语句:
xlswrite('test.xlsx',0, 'Sheet1:Sheet2', 'A1');
错误产生的原因:给xlswrite的第四行“range”引入了一个非法参数,xlswrite只支持指定范围使用Excel的“A1”。
如果确实需要对Excel中不同的sheet存储数据,可以采用循环的形式,其中num2str可以将数值型转换为字符串类型。  例如如下代码:
for i = 1:3
xlswrite('test.xls',1,['Sheet' num2str(i)],'A1');
end

情况三:
用户存入单个数据的大小超过了Excel可以接受的范围,如果你试着 在Excel单元格写一个字符串长度大于1024个字符,就会出现报错。出现这种情况也可以尝试 将相关文档的名字命名为2007以上版本的扩展名(.xlsx),不用03版本的名字(.xls)。

情况四:
如果向Excel单元格中输入的数据字段的大小为0×N,也会出现此类报错。

情况五:
如果在存储的数据当中,有以等于号“=”开头的数据,会出现此类报错。因为Excel的输入方式就是 =  A1*A2。所以存储进去的同时会造成错误。

(PS:情况四和情况五来源于网络,没亲自验证。)
===============================================================================


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值