Clear Filters
Clear Filters

Info

This question is closed. Reopen it to edit or answer.

Table data direct to Excel, not via file

2 views (last 30 days)
Marc Elpel
Marc Elpel on 22 Apr 2020
Closed: MATLAB Answer Bot on 20 Aug 2021
I would like to put a context menu on a UI Table to Open the data/send direct to Excel. I can do this via a temporary file, but would like to know if it is possible to send the data direct to remove the need to save/open the data via a file?
My current code (which works) is:
data = [{'Cat', 1, 2, 3};{'Dog', 4, 5, 6};{'Chicken', 7, 8, 9}]
T = cell2table(data)
writetable(T,'temp.csv')
winopen('temp.csv')
What I was looking for was something of the form:
data = [{'Cat', 1, 2, 3};{'Dog', 4, 5, 6};{'Chicken', 7, 8, 9}]
system('Excel',data)
Aside from the fact this does not work, system commands appear to leave an open command window when complete. I was able to get just the system(Excel) part to work, but had to look up the full path of the Excel executable (surprised it was not in the system path def). This left the command window open, and does not solve the original problem of calling with with data.
Final Q: What is the right form for just launching the app (Excel, Word, etc) without data? Is there a better way than the system() command?

Answers (1)

Ameer Hamza
Ameer Hamza on 22 Apr 2020
Why not directly
writetable(T,'temp.xlsx')
instead of exporting it to a csv.
  3 Comments
Ameer Hamza
Ameer Hamza on 22 Apr 2020
I don't have a window platform, but does the function winopen() not work on MS Excel?
Marc Elpel
Marc Elpel on 22 Apr 2020
Winopen() does nto work opening Excel (might be because it is not in the system path).
Regardless, that would not solve the issue unless I could do winopen('Excel' [data]), which does not appear to be valid syntax.

This question is closed.

Community Treasure Hunt

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

Start Hunting!