How can I get data from an open Excel file without knowing the file name?

13 Ansichten (letzte 30 Tage)
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);

Antworten (1)

Ankitha Kollegal Arjun
Ankitha Kollegal Arjun am 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 Kommentare
Ankitha Kollegal Arjun
Ankitha Kollegal Arjun am 25 Jul. 2017
To save the workbook, you can add the following line to the code:
SaveAs(book,'myfile.xls')
Massimo Salese
Massimo Salese am 7 Jun. 2022
And what if i use the dinamic range notation?
cells = sheet.get('Range','A1#','B4#')

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by