There are of course many ways to import data from an Excel file into Matlab. For instance, by clicking on an Excel file in the 'Current Folder' window within Matlab, one can select data and then push it into a variable in the base workspace. One can also use 'xlsread' to import data programmatically. Moreover, with the ExcelLink Toolbox, you can easily transfer data between Excel and Matlab in both directions, if you have this toolbox (which I don't). 'getxls' is just another possibility which, personally, I find often easier for quickly getting the data into Matlab. The GUI allows you to import either the raw data, just the numeric cells, only the dates cells, only string cells, or the formulas in the speadsheet. If you choose to import only date cells, then the GUI transforms the Excel date code to the corresponding Matlab date code.
The program can be instructive for other software developers as it has a few possibly unusual features. First of all, this GUI was created programmatically, without the help of GUIDE. This makes it, I think, somewhat more transparent. Secondly, and contrary to the code generated with GUIDE, it uses nested functions, which has the advantage that all variables that are defined in the main function are also in the scope of the nested functions. Thirdly, the program demonstrates how to use the Excel COM server. And finally, it demonstrates how to access Matlab's editor and create a new Matlab skript programmatically.
Acknowledgement: A small part of the program is heavily inspired by XLSREAD.
Please comment if you like it or if you find it useful.
Yvan Lengwiler (2019). getxls (https://www.mathworks.com/matlabcentral/fileexchange/27799-getxls), MATLAB Central File Exchange. Retrieved .
Hwang, thank you for the four stars you gave to my software. I am glad you like the program. It would be helpful for me if you could tell me what prevented you from giving it five stars. Do you have any suggestions for improvements?
Dear Joseph. I'm sorry for your troubles. Also, I was traveling and could not answer earlier. I've checked the problem now. It is most likely due to a ~code, which is used in more recent versions of Matlab to indicate an output variable that is not used. Earlier versions do not understand this. I suggest that you make a global 'search and replace' in the code swapping '~' for 'temp'. I might do this in the next revision of the program to make it more friendly to older versions of Matlab. Hope this helps --- if not, let me know.
I downloaded this file on my laptop and when I run it matlab gives an error message says unexpected matlab operator in line 309 column 37. Not really good at matlab, please help
As a Mac user, some pre-download warning that this seems to be written for Windows would have been handy! But some of the other details are neat -- thanks :)
Dude, u are the man!
Added ability to retrieve Excel formulas.
'editorservices' is no longer supported by the latest version of ML. The new version of GETXLS adapts to this change.
Fixed bug that happened when only a single cell is selected. Moreover, showing Row/Col headings is now the default.
- If no range is selected, the whole worksheet is imported.
Fixed a minor bug that caused the variable to be pushed to the base workspace twice sometimes.
Added 'Dates' filter to extract only cells that have some date format.