How can I copy values from UITABLE placed in UIFIGURE to clipboard?

37 次查看(过去 30 天)
I created matlab application using App Designer and it contains uitable. I am trying to copy selected values from the table to Excel using CTRL + C command. It worked with uitable created using GUIDE.

采纳的回答

Achyutha Hosahalli
Achyutha Hosahalli 2017-11-21
App Designer uitable does not support copy and paste to clipboard in both R2017a and R2017b. As a workaround, one can use the following method:
  1. Use clipboard function inside UITableCellSelection, note that this would not retain table format when paste the data to excel or notepad etc;
  2. Use a button, and call functions like xlswrite or writetable inside the button callback
  4 个评论
Hamze Msheik
Hamze Msheik 2022-1-26
编辑:Hamze Msheik 2022-1-26
First create (KeyPress) for your table
if mixed data is in it
key = event.Key;
if(strcmp(key,'c') || strcmp(key,'C') )
if(strcmp (app.previouskey,'control'))
asd=cell2str(app.YOURTABLE.Data);
asd=strrep(asd,';',newline);
asd=strrep(asd,[char(39) ',' char(39)],' ');
clipboard('copy',asd)
end
end
app.previouskey=key;
OR if purely Numbers
key = event.Key;
if(strcmp(key,'c') || strcmp(key,'C') )
if(strcmp (app.previouskey,'control'))
asd=num2str(app.YOURTABLE.Data);
asd=strrep(asd,';',newline);
asd=strrep(asd,[char(39) ',' char(39)],' ');
clipboard('copy',asd)
end
end
app.previouskey=key;

请先登录,再进行评论。

更多回答(1 个)

Y.S.
Y.S. 2022-6-22
I'm using Matlab R2021a
If you define a ContextMenu, you can assign 'Accelerators'
when I select the accelerator 'C', the keypress CTRL-C automatically initiales the callback (see screenshot)
as for the actual copy-paste; I followed https://nl.mathworks.com/matlabcentral/answers/1854-copy-utiable-to-excel, which read uitable as a string. using e,.g. textscan you can format the string with tabs ('\t') or linebreaks ('\n') to make it suited to copy in a nice formatted way directly (and into e.g. Excel).

类别

Help CenterFile Exchange 中查找有关 Maintain or Transition figure-Based Apps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by