既存の (開いていて空の) ファイル "D:\api.xlsx" があり、Matlab からそれと通信する必要があります。まず、A1:B2 から値を読み取り、新しい値を挿入しようとします。
excelapp = actxserver('Excel.Application');
wkbk = excelapp.Workbooks;
wdata = wkbk.Open('D:\api.xlsx');
sheet = wdata.ActiveSheet;
range = sheet.get('Range', 'A1:B2');
range.Value
ans =
[NaN] [NaN]
[NaN] [NaN]
range.Value = magic(2);
>> range.Value
ans =
[1] [3]
[4] [2]
しかし、私はExcelに変更が見られません。範囲 A1:B2 は空のままです。同様に、手動で新しい値を Excel に挿入するとrange.Value
、古い値が返されます。
したがって、2 つの質問があります。
Matlabから開かれたExcelファイルに値を挿入して、新しい値がすぐに見えるようにする方法は?
更新された(Excelからの)値をMatlabに取得する方法は?