How to convert xlswrite to writematrix?

6 views (last 30 days)
Jojo Blanza
Jojo Blanza on 7 May 2019
Commented: Jeremy Hughes on 8 May 2019
I have a code that uses xlswrite and works in R2016. When I run it in R2019a Matlab online, it gives an error on xlswrite and suggests to use writematrix instead. I followed the format of writematrix, however, there is still an error using writematrix. How do I convert xlswrite to writematrix? Thanks.
  3 Comments
Guillaume
Guillaume on 7 May 2019
If you say you get an error always give us the full text of the error message (everything that is red).
Note that matlab online runs on linux, so writematrix and more so xlswrite are limited in what they can write to an excel file.
dpb
dpb on 7 May 2019
Ah...I was unaware of that tho makes sense...that in fact is likely the root cause indeed for xlswrite; still indeterminate for writematrix

Sign in to comment.

Answers (2)

Jeremy Hughes
Jeremy Hughes on 7 May 2019
XLSWRITE can write either a matrix (e.g. [ 1 2 4;5 7 8] or a cell {'a' 'b';'c' 'd'})
If your input is a cell, use WRITECELL.
  2 Comments
Jojo Blanza
Jojo Blanza on 8 May 2019
The input to the matrix are numbers (values). Does it mean that I should use writematrix? Also, Matlab Online suggests writematrix instead of xlswrite.
Thanks.
Jeremy Hughes
Jeremy Hughes on 8 May 2019
Based on the comment below:
writematrix(dataset,filename,sheet,xlRange)
should be:
writematrix(dataset,filename,'Sheet',sheet,'Range',xlRange)

Sign in to comment.


Jojo Blanza
Jojo Blanza on 8 May 2019
Appreciate your responses.
Here are the errors:
Error using writematrix (line 134)
Invalid parameter name: Indo_Sing_Wide_LOS-1
Error in A_DataGeneration (line 207)
writematrix(dataset,filename,sheet,xlRange)
Apologies for forgeting to include the errors.
Thanks for your answers.
  1 Comment
dpb
dpb on 8 May 2019
What if you use writematrix but to a text file? I'm betting odds are good that will work and if so it's related to the issue of is Excel actually supported for the platform you're trying to write to as Guillaume suggested.
But, it would still be agoodthing™ if we could see the actual form of the data you're trying to write; I wonder with the variable name dataset are you, by any chance, using a ML table or the old Statistics TB dataset class, are you??? But, if the latter, that variable name is aliasing the constructor for the class...
What does
whos dataset
return at command line?

Sign in to comment.

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!