How can I get data from an open Excel file without knowing the file name?
Show older comments
I have an unsaved .xlsx file open from another script, and I'm trying to write a Matlab program to extract the data from the file. There is no filename or path, however I am able to access the Active Workbook and corresponding Sheet by using ActiveX. It possible for me to pull the file data from the Workbook or Sheet object?
Here is how I get the workbook and sheet:
ex = actxGetRunningServer('Excel.Application');
book = ex.ActiveWorkbook;
sheet = book.Worksheets.Item(1);
Answers (1)
Ankitha Kollegal Arjun
on 24 Jul 2017
You can add two additional lines to your code as follows:
ex = actxGetRunningServer('Excel.Application');
book = ex.ActiveWorkbook;
sheet = book.Worksheets.Item(1);
% Below command will read cells A1-B4
cells = sheet.get('Range','A1','B4'); %Specify the range of cells you want to read from the Excel File
data = cells.Value; %'data' will be a cell array containing the excel cell values
3 Comments
Charlotte McHugh
on 24 Jul 2017
Ankitha Kollegal Arjun
on 25 Jul 2017
To save the workbook, you can add the following line to the code:
SaveAs(book,'myfile.xls')
Massimo Salese
on 7 Jun 2022
And what if i use the dinamic range notation?
cells = sheet.get('Range','A1#','B4#')
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!