Equivalent ActiveX Code for xlsread
2 views (last 30 days)
Show older comments
Hello everyone :) I have a program in which it reads some Excel files and use the data imported from them. I used the xlsread function to read from the files as in : [~,~,c]=xlsread(FileName,'','','basics'); and then worked on c to extract the data I need. But when I try to read multiple files or in a loop, it gets very slow, so I searched around and found out that using ActiveX would solve the problem. So I was wondering how I could do that. This is by far what I have found : exl = actxserver('excel.application'); exlWkbk = exl.Workbooks; exlFile = exlWkbk.Open(FileName); exlSheets = exlFile.Sheets; SheetCounts=exlSheets.Count;
Now how can I read all the data in Sheet 1 or 2, ...? And read the data into a cell array.
0 Comments
Answers (3)
Sebastian Castro
on 22 May 2015
This link might help:
- Sebastian
2 Comments
Guillaume
on 22 May 2015
Both
exlsheet = exlFile.Sheets.Item('sheetname');
and
exlsheet = exlFile.Sheets.Item(sheetnumber);
work (assuming the name or number is valid obviously).
After that, you need to acquire a range object and extract its value or text property as per Sebastian's link.
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!