xlsread on Mac in basic mode
6 views (last 30 days)
Show older comments
I'm having issues with the xlsread function. I am using Matlab and excel in Mac OSX. So far I understand that in the Mac environment, Matlab must use basic mode to import. I thought I'd accounted for this in my script. I've also changed the file type of the source excel workbook to be 98 compatible
This is the content of my script:
_clc clear
[num,txt,raw] = xlsread('VSim.xls','Sheet1','','basic')_
This is the displayed error messages:
_Warning: XLSREAD has limited import functionality on in basic mode. Refer to HELP XLSREAD for more information. > In xlsread at 168 In exc at 4 Error using xlsread (line 232) XLSREAD unable to read sheet Sheet1. File could not be read by biffparse. Invalid record ID.
Error in exc (line 4) [num,txt,raw] = xlsread('VSim.xls','Sheet1','','basic')_
Thanks in advance.
Is there any solution to this problem?
Chris
0 Comments
Answers (2)
Ken Atwell
on 6 Nov 2013
What version of MATLAB are you using? The last handful of releases can read .xlsx files, give it a try.
2 Comments
Marc
on 12 Nov 2013
You are not going to like this answer. I am using Mac OS X 10.8.5, Office for Mac 2011. When I was developing this "code", it was with 2012b on Windows 7 at work. Since my license allows me to work at home, I tried it on my Mac. To get it to work, I saved the excel file as a .xlsm extension. So, here are the errors I get for 2010a, 2012b and 2013b depending on the file extension.
2010a gives me an error whether I save the file as .xls or .xlsm. .xlsm error first...
% -----------------------------------------------------------------------------------------
Warning: Could not start Excel server for import, 'basic' mode will be used. Refer to HELP XLSREAD for more information. > In xlsread at 176 In unit9_dataReadRaw at 13 Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded. > In xlsread at 184 In unit9_dataReadRaw at 13 ??? Error using ==> xlsread at 234 File contains unexpected record length. Try saving as Excel 98.
Error in ==> unit9_dataReadRaw at 13 [data{i},text{i}] = xlsread(filename, sheets{i}, 'A1:S130');
% -------------------------------------------------------------------
2010a with an .xls file extension
% -------------------------------------------------------------------
Warning: Could not start Excel server for import, 'basic' mode will be used. Refer to HELP XLSREAD for more information. > In xlsread at 176 In unit9_dataReadRaw at 13 Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded. > In xlsread at 184 In unit9_dataReadRaw at 13 Warning: Could not start Excel server for import, 'basic' mode will be used. Refer to HELP XLSREAD for more information. > In xlsread at 176 In unit9_dataReadRaw at 13 Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded. > In xlsread at 184 In unit9_dataReadRaw at 13 Warning: Could not start Excel server for import, 'basic' mode will be used. Refer to HELP XLSREAD for more information. > In xlsread at 176 In unit9_dataReadRaw at 13 Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded. > In xlsread at 184 In unit9_dataReadRaw at 13 Warning: Could not start Excel server for import, 'basic' mode will be used. Refer to HELP XLSREAD for more information. > In xlsread at 176 In unit9_dataReadRaw at 16 Warning: Could not start Excel server for import, 'basic' mode will be used. Refer to HELP XLSREAD for more information. > In xlsread at 176 In unit9_dataReadRaw at 17 ??? Error using ==> xlsread at 234 XLSREAD unable to read sheet LOADING. File contains unexpected record length. Try saving as Excel 98.
Error in ==> unit9_dataReadRaw at 17 [loadDat, loadText] = xlsread(filename, 'LOADING');
% ------------------------------------------------------------
In 2012b, the only error I get is with the .xls file
Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded. > In xlsread at 199 In unit9_dataReadRaw at 13 Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded. > In xlsread at 199 In unit9_dataReadRaw at 13 Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded. > In xlsread at 199 In unit9_dataReadRaw at 13 Error using xlsread (line 247) XLSREAD unable to read sheet 'LOADING'. File contains unexpected record length. Try saving as Excel 98.
Error in unit9_dataReadRaw (line 17) [loadDat, loadText] = xlsread(filename, 'LOADING');
>>
% -----------------------------------------------------------------
In 2013b, looking for the .xls file, I get the following error. Both 2012b and 2013b give me no issues with the same file saved as .xlsm.
Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded. > In xlsread at 201 In unit9_dataReadRaw at 13 Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded. > In xlsread at 201 In unit9_dataReadRaw at 13 Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded. > In xlsread at 201 In unit9_dataReadRaw at 13 Error using xlsread (line 248) XLSREAD unable to read sheet 'LOADING'. File contains unexpected record length. Try saving as Excel 98.
Error in unit9_dataReadRaw (line 17) [loadDat, loadText] = xlsread(filename, 'LOADING');
% --------------------------------------------------------------------
As you can see the errors point to different lines in 2012b and 2013b. I try not to think about it when I go to sleep. A nice 12 year old scotch helps.....
0 Comments
See Also
Categories
Find more on Spreadsheets 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!