How to use xlswrite in an Excel add-in?

1 view (last 30 days)
Nebitno
Nebitno on 7 Mar 2014
Answered: Prateekshya on 14 Oct 2024
Hello,
I am using EX Builder to make an Excel add-in. The add-in should read an m x n matrix from the sheet and write down an m x 3 matrix of outputs. Now, I am OK with the first part which consists of using the xlsread function. However, I am having an issue using the xlswrite function which cannot write into an opened workbook. Is there a way to work around this problem?
Many thanks!
P.S. I did try to include a piece of code which closes the workbook before applying xlswrite. This works when I run my m file in Matlab, however it still does not work when I build an Excel add-in.
  1 Comment
Jan Eikeset
Jan Eikeset on 15 Jul 2016
Has anybody found an answer to this question? I find myself in a similar situation.

Sign in to comment.

Answers (1)

Prateekshya
Prateekshya on 14 Oct 2024
Hello Nebitno,
To write data into an excel sheet, you can use writematrix for R2019a and later versions:
  • If you are using a MATLAB version that supports writematrix, it provides a more robust way to write data to Excel files. However, it still requires the workbook to be closed.
writematrix(outputData, 'yourfile.xlsx', 'Sheet', 1, 'Range', 'A1');
For more information on the writematrix function, please go through the following documentation link: https://www.mathworks.com/help/matlab/ref/writematrix.html#mw_bf4dd90e-62a2-42b7-8c53-3ac04cea640a
  • If you must use xlswrite, ensure that the workbook is closed programmatically before writing. However, this approach might not be ideal in an add-in environment where the workbook is typically open.
I hope this helps!

Community Treasure Hunt

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

Start Hunting!