Export uitable's data to a spreadsheet Excel

I have designed a GUI which has an uitable and a push button which, when is pressed, allows to export the uitable's data to an Excel spreadsheet. My problem is that I want to add the uitable's headers to the matrix Select which has the numeric values. This matrix is used by the pushbutton callback, as seen below:
htable = uitable(...);
...
SelecY = get(htable,'Data');
Callback of the pushbutton
function hExpExcelCallback(src,evt)
FileName = uiputfile('*.xls','Save as');
xlswrite(FileName,SelecY),
end

 Réponse acceptée

You need to do some processing in the case that the table data is all numerical, because the column header is returned in a cell array. The following example uses a uitable, but should apply to the table you have in your GUI as long as you have the handle.
h=uitable('Data',rand(2,3),'ColumnName',{'a','b','c'});
Data=get(h,'Data');
ColumnName=get(h,'ColumnName');
NewData=mat2cell(Data,ones(size(Data,1),1),ones(size(Data,2),1));
CombData=[ColumnName';NewData];
xlswrite(FileName,CombData);

3 commentaires

@Fangjun Jiang: Thank you so much for your answer.
Hector Prieto
Hector Prieto le 2 Fév 2014
Dear @Fangjun Jiang,
I tried your example, but unfortunately it only works on Windows pc and I am using Macintosh. Can you please tell me how to implement this code on Macintosh?
Cheers
Héctor
I have the same problem and I would like to know if Excel for Mac can be used with the command xlswrite

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by