Main Content

读取 Excel 电子表格数据的元胞数组

此示例适用于 Microsoft® .NET Framework,说明如何将 Microsoft Excel® 电子表格数据的列转换为 MATLAB® 类型。MATLAB 将一系列 .NET 值作为 System.Object[,] 类型进行读取。使用 cell 函数将 System.String 值转换为 MATLAB 字符数组,将 System.DateTime 值转换为 datetime 对象。

在 Excel 中创建包含以下数据的文件。

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

右键点击 Date 列,选择设置单元格格式,然后选择数字选项卡。请验证分类的值为 Date

命名文件夹 H:\Documents\MATLAB 中的 weight.xls 文件。关闭文件。

在 MATLAB 中,从电子表格中读取数据。

dotnetenv("framework")
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;

将数据转换为 MATLAB 类型。

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

显示日期。

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

退出 Excel 程序。

Close(book)
Quit(app)

相关示例

详细信息