读取 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)