Copy utiable to Excel

I have populated a uitable created in GUIDE with some data. I want to be able to click a button and have the uitable data copied to clipboard so I can then paste into Excel. So far I have the following code for a button callback:
s=get(handles.uitable1,'data');
clipboard('copy', s);
However, this just creates one large string in excel and not each uitable cell to an exel cell. any suggestions. Thanks Jason

Answers (1)

Robert Cumming
Robert Cumming on 24 Feb 2011

0 votes

you will see in the clipboard help that clipboard converts your matrix to a string using MAT2STR.
In the past I've had a similar issue and in that case I created the string myself with delimiter between each number (build it with sprintf and formatting).

7 Comments

Jason
Jason on 24 Feb 2011
Thanks Robert, could you share how you did it.
Thanks
%% Something like this would do it:
d = rand(5,2);
size_d = size(d);
str = '';
for i=1:size_d(1)
for j=1:size_d(2)
str = sprintf ( '%s%f\t', str, d(i,j) );
end
str = sprintf ( '%s\n', str );
end
clipboard ( 'copy', str );
Jason
Jason on 24 Feb 2011
Thankyou.
Thank you so much!
Thank you very much!
I suggest an edit
function f_clipboard(d)
size_d = size(d);
str = '';
for i = 1:size_d(1)
for j = 1:size_d(2)
if j == size_d(2)
str = sprintf('%s%f',str,d(i,j));
else
str = sprintf('%s%f\t',str,d(i,j));
end
end
str = sprintf('%s\n',str);
end
clipboard ('copy',str);
end
so that there's no empty column on the right. :)
Thank you Paolo and Robert, this worked for me as well.
Frustrating that it isn't already something addressed by Mathworks, because that was a key reason I was building my GUI in the first place, to provide data that could be copied out to Excel and pasted where the user wanted it, but this will serve as an acceptable workaround.
thanks, Paolo Minotti, your method is really useful.

Sign in to comment.

Categories

Find more on Environment and Settings in Help Center and File Exchange

Asked:

on 23 Feb 2011

Commented:

on 18 Dec 2020

Community Treasure Hunt

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

Start Hunting!