This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Read Cell Arrays of Excel Spreadsheet Data

This example shows how to convert columns of Microsoft® Excel® spreadsheet data to MATLAB® types. MATLAB reads a range of .NET values as a System.Object[,] type. Use the cell function to convert System.String values to MATLAB character arrays and System.DateTime values to datetime objects.

Create a file in Excel that contains the following data.

Date       Weight
10/31/96   174.8
11/29/96   179.3
12/30/96   190.4
01/31/97   185.7

Right-click the Date column, select Format Cells, and then the Number tab. Verify that the value for Category: is Date.

Name the file weight.xls in the H:\Documents\MATLAB folder. Close the file.

In MATLAB, read the data from the spreadsheet.

NET.addAssembly('microsoft.office.interop.excel');
app = Microsoft.Office.Interop.Excel.ApplicationClass;
book =  app.Workbooks.Open('H:\Documents\MATLAB\weight.xls');
sheet = Microsoft.Office.Interop.Excel.Worksheet(book.Worksheets.Item(1)); 
range = sheet.UsedRange;
arr = range.Value;

Convert the data to MATLAB types.

data = cell(arr,'ConvertTypes',{'all'});

Display the dates.

cellfun(@disp,data(:,1))
Date       
   31-Oct-1996 00:00:00

   29-Nov-1996 00:00:00

   30-Dec-1996 00:00:00

   31-Jan-1997 00:00:00

Quit the Excel program.

Close(book)
Quit(app)

Related Examples

More About