How do I stop this xlswrite error message?

16 views (last 30 days)
Cg Gc
Cg Gc on 5 Apr 2019
Commented: rahul on 17 Feb 2026 at 5:15
I am writing a series of values to an excel sheet to do some quick comparisons with other data. Each value is a single number. Ex. caseyJan1992 = 52.6
This is my code for one of them.
xlswrite('casey_Hourly_443610_tp.xlsx',caseyJan1992,'MonthlySums','b14');
It is basically putting a single value into a one cell of a spreadsheet called "MonthlySums'. There are a bunch of these values going into spread sheet.
When I first open up MATLAB and run the code, it works fine. But, if I let MATLAB stay open for a few minutes or try to run the script more than once, I get this error message.
Error using xlswrite (line 224)
Invoke Error, Dispatch Exception:
Source: Microsoft Excel
Description: This command is unavailable because the license to use
this application has expired.
Help File: xlmain11.chm
Help Context ID:
My fix is to simply save my work and restart MATLAB.
This fix works, but it isn't a permanent solution and it takes more time away from what I need to do. Does anyone know of a more permanent solution?
  7 Comments
Guillaume
Guillaume on 8 Apr 2019
As far as I understand writetable still use Excel by default (on Windows with Excel installed). It's only if you specify 'UseExcel', false that you don't need excel.
Walter Roberson
Walter Roberson on 8 Apr 2019
Good point about the (fairly new) UseExcel parameter.

Sign in to comment.

Answers (2)

Javier Anguiano
Javier Anguiano on 19 Sep 2021
I found that changinig the working directory to a short name solve the problem. I suppose that it's something related to the number of characters on the name and destiny of the final output. In my case, I set my working directory to C:/ and It works fine. The final destination/name of the file is not up to 20 characters.

Jan
Jan on 5 Apr 2019
It is not enough to think, that the license is active. Start Excel and check the license:
  9 Comments
Cg Gc
Cg Gc on 9 Apr 2019
This line worked, without the extra space. I have no idea what it did, but the expired license error message takes longer to appear. I can now create 2 or sometimes even 3 spreadsheets before it breaks. So, I guess that is a good thing.
excel = actxserver('Excel.Application');
rahul
rahul on 17 Feb 2026 at 5:15
Thank You for the revlavent answers.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!