How to copy and paste several cells from e.g. Excel into a MATLAB uitable?
Show older comments
We develop a graphical user interface (GUI) with the Matlab App Designer. Many users of the GUI would like to copy the data from Excel with ‘ctrl + c’ and then wants to paste it to the UITable in the app with ‘ctrl + v’. The MATLAB table model (UITable) doesn’t seem to have this feature. Is there any workaround or solution for this problem?
Accepted Answer
More Answers (1)
Jason
on 1 Mar 2024
I got this to work:
function TablePasteData(app,src,event,tbl)
%Get Data From Clipboard
clipb=clipboard('paste');
data=[];
newStr = splitlines(clipb);
[n,m]=size(newStr);
for i=1:n-1
B=newStr{i};
C=split(B);
l=numel(C);
data(i,1)=str2double(C{1,1});
data(i,2)=str2double(C{2,1});
if l==3
data(i,3)=str2double(C{3,1});
end
end
data
tbl.Data=data;
end
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!