MATLAB: Do I get a “SaveAs method of Workbook class failed” error when using the ‘xlswrite’ function

MATLAB

I received some code from a colleague which calls 'xlswrite', but it errors with the following message:
Error using xlswrite (line 226)
Invoke Error, Dispatch Exception:
Source: Microsoft Excel
Description: SaveAs method of Workbook class failed
Help File: xlmain11.chm
Help Context ID: 0
Why does this occur, and how can I work around this issue?

Best Answer

  • This can occur if the directory you are trying to write to does not exist, or if you don't have write access to that directory. While you can "write" to files which don't previously exist (MATLAB will create them), the directory does need to exist beforehand.
    This can also happen in some situations where the user which starts the Excel is a system user. Excel expects the existence of the Desktop directory. To enable the command to work try the following:
    For x64 processes create the following folder:
    C:\Windows\SysWOW64\config\systemprofile\Desktop
    For x86 processes create the following folder:
    C:\Windows\System32\config\systemprofile\Desktop