【发布时间】:2012-08-08 14:49:55
【问题描述】:
我有一个现有的(打开的和空的)文件“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 文件中,以便新值立即可见?
如何将更新后的(来自 Excel)值输入 Matlab?
【问题讨论】: