How do I stop this xlswrite error message?

16 Ansichten (letzte 30 Tage)
Cg Gc
Cg Gc am 5 Apr. 2019
Kommentiert: rahul am 17 Feb. 2026 um 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 Kommentare
Guillaume
Guillaume am 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 am 8 Apr. 2019
Good point about the (fairly new) UseExcel parameter.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Javier Anguiano
Javier Anguiano am 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 am 5 Apr. 2019
It is not enough to think, that the license is active. Start Excel and check the license:
  9 Kommentare
Cg Gc
Cg Gc am 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 vor etwa 6 Stunden
Thank You for the revlavent answers.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by