필터 지우기
필터 지우기

Error using xlswrite. Invalid sheet name '1'.

조회 수: 13 (최근 30일)
Andres Fonts
Andres Fonts 2017년 1월 31일
댓글: Mathias Marley 2017년 2월 13일
Hi! I am writting to see if you can help me with a strange issue that appeared me without any explanation...
I would like to use the xlswrite function this way:
data = 1:2;
filename = 'file.xlsx';
xlswrite(filename,data)
And I don't know why, I get this error:
Error using xlswrite (line 219)
Invalid sheet name '1'. Sheet names cannot exceed 31 characters and cannot contain any of these characters:
': / ? * [ ]'.
Does that make sense? I am not setting any kind of sheet name and it is complaining about it. So, looking to the help xlswrite menu I can see that the ARRAY field should be a cell, not a double. Ok, so changing this does not make the difference either...
I have also tried to use the activeX way to create a excel file and everything works fine, but it is quite tedious to make my own "xlswrite" function... I would like to know how to solve this problem with xlswrite.
Could you help me?
Thanks! Andres Fonts
[EDIT] Solved! The xlswrite function was corrupted. There was a code error in line 258.

채택된 답변

Jan
Jan 2017년 1월 31일
This is a strange problem and does not occur on my computer. This can mean, that one of this happens on your machine:
  • Your xlswrite function is damaged. Do you have write permissions to the toolbox folders?
  • A function called by xlsread is damaged or shadowed by a user defined function. Do you append the folders with your functions on the bottom of the path and not on the top?
  • filename is an existing file with a forbidden sheet name already. Then it would be the question, how this file was created, but this might not concern Matlab. If so, try to rename the sheet in Excel.
  • Anything weird happens. :-) Use the debugger to examine this: set a breakpoint in the failing line and check the name of the sheet. Using double(SheetName) reveals non-printable characters.
  댓글 수: 3
Jan
Jan 2017년 1월 31일
:-) Obviously my new crystal ball works as advertised.
I never run Matlab with admin privileges to avoid modifying Matlab's toolbox functions by accident. When I work in a multi-monitor setup, I sometimes loose the contact to the window, which has the keyboard focus. When I then start typing, characters are inserted without intention. But without admin privileges I cannot save these files later on.
Mathias Marley
Mathias Marley 2017년 2월 13일
I got this exact same error. In line 258 I found:
sstartupA09 [theMessage, TargetSheet, visibility] = activate_sheet(Excel,sheet);
sst... is similar to a command I often write in the command window. Somehow I must have opened xlswrite, started typing the command, and saved!

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Gabriel Delcros
Gabriel Delcros 2017년 1월 31일
You may have to try :
xlswrite ('file.xlsx', data)
If file is already created, he would find it. Or put the path ;)
  댓글 수: 1
Andres Fonts
Andres Fonts 2017년 1월 31일
Hi Gabriel, Thanks for answering, but what you are suggesting does not make any difference, I still have the same error. And including or excluding the path does not make the difference either...
I have also tried to create first the file and then execute xlswrite ('file.xlsx', data) and still having the error.
Thanks anyway

댓글을 달려면 로그인하십시오.


Gabriel Delcros
Gabriel Delcros 2017년 1월 31일
Oh I know, there is a problem with your data. It does not make sens to him.
Try data = [1:2];
  댓글 수: 3
Andres Fonts
Andres Fonts 2017년 1월 31일
Thanks again Gabriel, but data=1:2 is correct.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Structures에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by