Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Table data direct to Excel, not via file

2 Ansichten (letzte 30 Tage)
Marc Elpel
Marc Elpel am 22 Apr. 2020
Geschlossen: MATLAB Answer Bot am 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?

Antworten (1)

Ameer Hamza
Ameer Hamza am 22 Apr. 2020
Why not directly
writetable(T,'temp.xlsx')
instead of exporting it to a csv.
  3 Kommentare
Ameer Hamza
Ameer Hamza am 22 Apr. 2020
I don't have a window platform, but does the function winopen() not work on MS Excel?
Marc Elpel
Marc Elpel am 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.

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by