Excel スプレッドシート データの cell 配列の読み取り
この 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)