Problem to import data from Excel to Matlab

7 views (last 30 days)
Hello, I've a problem to import data from excel file to Matlab. I'm using xlsread function in the following way:
[num,text]=xlsread('myxlsfile.xls')
then I receive this warning message:
"Warning: XLS File contains unrecognized string header - skipping remaining text - (1027:0x20 57307)"
and the 'text' matrix result truncate. I've tried to copy and paste the data in an other xls file, but the problem persist. My xls file is approximately 20MB.
Is it too large? Could anyone help me?
Thank you
Maddalena
  6 Comments
Image Analyst
Image Analyst on 12 Jun 2011
Well there's your problem - you installed Excel 2011 on your Windows 7 computer. I didn't even know you could do that since that's a Apple Macintosh product. The latest Excel for Windows is 2010, while for the Macintosh it's 2011. Try installing Office 2010 for Windows instead. ;-)
Can you open that file in any version of Excel on any platform? It seems if it's a corrupt workbook with a corrupt header that even Excel wouldn't open it.
Maddalena Mandarà
Maddalena Mandarà on 12 Jun 2011
Sorry, I've type Excel 2011 instead of Excel 2010. Anyway I tried to open my file on Excel 2008 on Macintosh system on an other platform, and there wasn't problem.
Unfortunately, my xls file contains numeric and text data, then I can not save it as a binary file and import it as a text file.
I've just try to import a selected range of my xls file, then I've type the command: [num,text]=xlsread('myxlsfile.xls','a1:bv5000') but the warning on 'unrecognized string header' appears. I've use this range because Matlab detective the problem at the row 4813 of the "text" matrix. Then
I've try to type the command: [num,text]=xlsread('myxlsfile.xls','a1:bv50') where the range don't include the row 4813.
The warning message persist because Matbal tell me that "Range cannot be used in 'basic' mode. The entire sheet will be loaded. ' Thank you for your help! Maddalena

Sign in to comment.

Accepted Answer

Kaustubha Govind
Kaustubha Govind on 12 Jun 2011
On Windows machine, MATLAB opens Excel as a COM server to read data from Excel files. On other platforms, xlsread operates in what is called a 'basic' mode, which doesn't support some file formats. From the warning message that you receive: "Range cannot be used in 'basic' mode. The entire sheet will be loaded.", it seems that MATLAB is somehow unable to start-up Excel as a COM server. So the best path of resolution to your issue is to first resolve any errors occurring while starting Excel as a COM server.
Try executing the following command to see if you receive an error:
e = actxserver('Excel.Application')
  11 Comments
Maddalena Mandarà
Maddalena Mandarà on 15 Jul 2011
I solved the problem with the help of MathWorks Technical Support. I used an Excel's vitualized version and this was the gap. Now, I use an Excel's application version and xlsread work very well.
Thank you to all
Maddalena
Kokalz
Kokalz on 16 Jul 2012
Could you give a full discription on the problem solving steps that your performed? Thank you!

Sign in to comment.

More Answers (2)

Guido Travaglini
Guido Travaglini on 12 Jun 2011
Make sure the path shown in the "Current Folder" window is the same where your XLS file resides.
  1 Comment
Maddalena Mandarà
Maddalena Mandarà on 12 Jun 2011
Yes, the Current Folder windoew is the same where my xls file resides. Anyway I've type the path in the argument of xlsread function.
Thank you!
Maddalena

Sign in to comment.


Kokalz
Kokalz on 16 Jul 2012
Could you give a full discription on the problem solving steps that your performed? Thank you!
  2 Comments
Maddalena Mandarà
Maddalena Mandarà on 16 Jul 2012
Sure! I simply installed Excel using the CD, and not by downloading it from its website. If you need other informations, let me know.
Kokalz
Kokalz on 16 Jul 2012
How did you find out you were using the virtualized version of Excel?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!