xls export problem
7 次查看(过去 30 天)
显示 更早的评论
>> xls_1
xls_1 =
857_386.xls
>> xlswrite(xls_1,a) ??? Error using ==> xlswrite at 213 Invoke Error, Dispatch Exception: Source: Microsoft Office Excel Description: ???????????????????:
??????????????? ??????????? ??????????????: < > ? [ ] : ? *? ????????????? 218 ????? Help File: C:\Program Files\Microsoft Office\OFFICE11\1028\xlmain11.chm Help Context ID: 0
0 个评论
采纳的回答
Matt Tearle
2011-2-27
OK, your problem is the special characters in the string. You can't have slashes and line breaks in a filename.
When you do xlswrite('xls_1',a); the filename is the literal string 'xls_1', which is why it writes to xls_1.xls. You need the filename stored in the char variable xls_1, so:
xlswrite(xls_1,a);
However, to do that, xls_1 has to be a valid filename string. This works:
xls_1 = sprintf('%i_%i.xls',x,y)
If you're ok with underscores in places of slashes in the dates, this also works:
xls_1 = sprintf('%i_%i_%s_%s.xls',...
x,y,regexprep(start_day,'/','_'),regexprep(end_day,'/','_'));
0 个评论
更多回答(5 个)
Jan
2011-2-20
I do not see the problem.
a = rand(5);
xls_1 = '857_386.xls';
xlswrite(xls_1, a);
=> The file 857_386.xls is created. Did you use "xlswrite xls_1 a" without parenthesis?!
Matt Tearle
2011-2-20
Dare I ask... When you say you set xls_1 = 857_386.xls, you do mean xls_1 = '857_386.xls', right?
Cagri Ozcaglar
2011-3-4
File name may be too long. Try to shorten the absolute path of the file by shortening folder names.
0 个评论
Chidiebere Brendan Obiechefu
2019-7-29
I had same problem. What solved mine was writing the excel file to a desktop location. I don't know if it was because I was trying to save on onedrive (which is what I use normally), or that the file path is too long.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!