我有一个现有的(打开的和空的)文件“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
返回旧值。
所以,有两个问题:
如何将值插入从 Matlab 打开的 excel 文件中,以便新值立即可见?
如何进入 Matlab 更新的(来自 Excel)值?