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
답변 (1개)
Robert Cumming
2011년 2월 24일
0 개 추천
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
Jason
2011년 2월 24일
Robert Cumming
2011년 2월 24일
%% 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
2011년 2월 24일
Augustine Bui
2013년 5월 7일
Thank you so much!
Paolo Minotti
2017년 9월 21일
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. :)
Jay Basingerja
2020년 4월 2일
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.
Ding Cloud
2020년 12월 18일
thanks, Paolo Minotti, your method is really useful.
카테고리
도움말 센터 및 File Exchange에서 Environment and Settings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!