Equivalent ActiveX Code for xlsread

조회 수: 4 (최근 30일)
Me Y
Me Y 2015년 5월 22일
답변: Image Analyst 2015년 5월 22일
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.

답변 (3개)

Image Analyst
Image Analyst 2015년 5월 22일
Here's a full example, attached.

Sebastian Castro
Sebastian Castro 2015년 5월 22일
  댓글 수: 2
Me Y
Me Y 2015년 5월 22일
@Sebastian Thank you but it uses exlSheet1 = exlFile.Sheets.Item('Sheet1'); to point to the first sheet of the Excel file while I don't know the name of each sheets of the Excel file. Sometimes it's same as the filename, sometimes it's P1,P2,etc and sometimes it's Sheet1,Sheet2,etc so I can't use the Item property. Do you know another way to read an specific sheet?
Guillaume
Guillaume 2015년 5월 22일
You can pass a sheet name or a sheet number to the item property of a Worksheets collection.
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.

댓글을 달려면 로그인하십시오.


Me Y
Me Y 2015년 5월 22일
Looks like this worked to point to specific sheet number :)
SheetNo=2; ActiveSheet=get(exlSheets, 'Item', SheetNo);
But now How do I get the data?

카테고리

Help CenterFile Exchange에서 Spreadsheets에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by