使用 matlab 将数据输入 excel sheet

Entering data into excel sheet using matlab

我正在从文本框向 excel sheet 输入动态数据。问题是它在每个单元格中一个字母一个字母地输入。

这是我试过的代码:

 >>function bntEnterData_callback(hObject,eventdata,handles)
 >>val1 = get(handles.txt1,'string'));
 >>val2 = get(handles.txt2,'string'));
 >>val3 = get(handles.txt3,'string'));
 >>values = [ val1 val2 val3]
 >>filename= 'try.xls';
 >>sheet= 1;
 >>xkRange= 'A2';
 >>xlswrite(filename,values,sheet,xlRange);

假设您的 handles.txt* 是编辑 uicontrols'String' 属性 将是一个字符向量。连接多个字符向量只会创建一个更长的向量:

a = 'foo';
b = 'bar';
values = [a b]

创建:

values =

    'foobar'

当未明确提供要写入的单元格范围时,xlswrite 会将输入的单个单元格(或默认的 A1)解释为起点,并写入输入的所有元素使用单个单元格作为原点的数组。因为 'foobar' 是一个字符数组,所以这给出了预期的行为:

要解决此问题,请连接到元胞数组中:

a = 'foo';
b = 'bar';
values = {a b};

filename= 'try.xls';
sheet= 1;
xlRange= 'A2';
xlswrite(filename,values,sheet,xlRange);