This enhancement has been incorporated in Release 2008a (R2008a). For previous product releases, read below for any possible workarounds:
There is no one Handle Graphics object supported that provides the functionality of a table or spreadsheet with which data can be entered into MATLAB.
Using a collection of Handle Graphic objects and/or Java objects to achieve the functionality of a table is possible, however. Some MATLAB users have developed and contributed their own tabular interfaces to MATLAB Central. Two such contributions, GUI_SHEET and MLTABLE, are available for download here:
Note that MathWorks does not guarantee or warrant the use or content of these submissions. Any questions, issues, or complaints should be directed to the contributing author.
For Windows users using MATLAB 7.0 (R14) or later, you can also work around this by using a third-party ActiveX Control in your GUI.
Attached are two examples that use third-party ActiveX controls to achieve the functionality of a table.
The first example uses the "Microsoft Office Spreadsheet 11.0" ActiveX control to pass data between the GUI and the MATLAB base workspace. The Microsoft Office Spreadsheet ActiveX control is provided by Microsoft and usually ships with Microsoft Office. For more details on obtaining or using this specific ActiveX Control, contact Microsoft.
If you are unsure as to whether you have access to this ActiveX control, issue the following command at the MATLAB command prompt:
C = actxcontrollist;
if any( strcmp(C(:,2),'OWC11.Spreadsheet.11') )
disp('ActiveX Control Present')
else
disp('ActiveX Control Absent')
end
The second example uses the "Simple Grid" ActiveX control that plots data as it is entered into a table. The Simple Grid ActiveX control is provided by ADFSoftware.
For additional information on using the Simple Grid ActiveX control, contact ADFSoftware.
If you are unsure as to whether you have access to this ActiveX control, issue the following command at the MATLAB command prompt:
C = actxcontrollist;
if any( strcmp(C(:,2),'SGRID.SgCtrl.1') )
disp('ActiveX Control Present')
else
disp('ActiveX Control Absent')
end
Best Answer