MATLAB: Error using xlswrite. Invalid sheet name ‘1’.

error using xlswriteexceed 31invalid sheet nameMATLABsheet namexlswrite

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.

Best Answer

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.
Related Question