Excel xlswrite不重写

Excel xlswrite不重写,excel,matlab,user-interface,Excel,Matlab,User Interface,我需要有关使用.xlswrite将GUI数据导出到Excel的帮助。目前我可以将其写入Excel,但因为我必须重复整个过程总共20次,这意味着我必须在Excel中存储至少20行。我尝试过在线搜索,但有些网站上说使用“xlsappend”,我不知道如何使用,而且似乎出现了错误 有什么办法去做吗 我当前的代码: xlswrite('File.xls', {'SubjectID:'},'Sheet1','A1'); xlswrite('File.xls', {name},'Sheet1','A2');

我需要有关使用.xlswrite将GUI数据导出到Excel的帮助。目前我可以将其写入Excel,但因为我必须重复整个过程总共20次,这意味着我必须在Excel中存储至少20行。我尝试过在线搜索,但有些网站上说使用“xlsappend”,我不知道如何使用,而且似乎出现了错误

有什么办法去做吗

我当前的代码:

xlswrite('File.xls', {'SubjectID:'},'Sheet1','A1');
xlswrite('File.xls', {name},'Sheet1','A2');
xlswrite('File.xls', {'Radiobutton: '},'Sheet1','B1');
xlswrite('File.xls', {Radiobutton},'Sheet1','B2');  

另外,是否可以在这组数据和下一组数据之间划一条线?

我建议您不要硬编码要写入数据的单元格,而是使用动态变化的范围,例如在循环中

最直观的方法是使用Excel的行-列表示法(即
R1C1
,而不是
A1
;另请参见:,)。但是,从MATLAB 2015b开始,Excel不接受此符号,必须使用以下代码将其转换为
A1
-样式:

(您可以将上述内容放在单独的文件中,例如,
GenerateExcelA1.m
,如果是多功能脚本,也可以放在同一个文件中)

您的代码将如下所示:

%// Definitions:
SUBJECT_TAG_COL = 1;
SUBJECT_VAL_COL = 2;
RADIO_TAG_COL = 3;
RADIO_VAL_COL = 4;

for ind1=1:numLines %// if you also want empty lines, replace with ind1=1:2:2*numLines
%// Make sure data is available, then:
    xlswrite('File.xls', {'SubjectID:'},'Sheet1',GenerateExcelA1(ind1,SUBJECT_TAG_COL));
    xlswrite('File.xls', {name},'Sheet1',GenerateExcelA1(ind1,SUBJECT_VAL_COL));
    xlswrite('File.xls', {'Radiobutton: '},'Sheet1',GenerateExcelA1(ind1,RADIO_TAG_COL));
    xlswrite('File.xls', {Radiobutton},'Sheet1',GenerateExcelA1(ind1,RADIO_VAL_COL)); 
end

也要考虑哪个应该更快。

< P>我建议你不要硬编码你想要写数据的单元格,而是使用一个动态变化的范围,例如在一个循环中。

最直观的方法是使用Excel的行-列表示法(即
R1C1
,而不是
A1
;另请参见:,)。但是,从MATLAB 2015b开始,Excel不接受此符号,必须使用以下代码将其转换为
A1
-样式:

(您可以将上述内容放在单独的文件中,例如,
GenerateExcelA1.m
,如果是多功能脚本,也可以放在同一个文件中)

您的代码将如下所示:

%// Definitions:
SUBJECT_TAG_COL = 1;
SUBJECT_VAL_COL = 2;
RADIO_TAG_COL = 3;
RADIO_VAL_COL = 4;

for ind1=1:numLines %// if you also want empty lines, replace with ind1=1:2:2*numLines
%// Make sure data is available, then:
    xlswrite('File.xls', {'SubjectID:'},'Sheet1',GenerateExcelA1(ind1,SUBJECT_TAG_COL));
    xlswrite('File.xls', {name},'Sheet1',GenerateExcelA1(ind1,SUBJECT_VAL_COL));
    xlswrite('File.xls', {'Radiobutton: '},'Sheet1',GenerateExcelA1(ind1,RADIO_TAG_COL));
    xlswrite('File.xls', {Radiobutton},'Sheet1',GenerateExcelA1(ind1,RADIO_VAL_COL)); 
end

也要考虑哪一个应该更快。

我使用转换为Excel符号,用于<代码> xLSsWords/Cuff>,我推荐它。对不起,迟了的答复,我试着用你的代码进行测试,但是我有一些错误。我该如何申报Numline?它是一个数字,就像它将占用的行数一样吗?当我为numLines输入一个数字时,我得到了以下错误:对于类型为“double”的输入参数,未定义函数“GenerateExcelA1”。从我读代码的方式来看,Radiobutton的数据不是要取代主观性数据吗?我是新来的,所以我对你的编码不太了解抱歉>@user4514279-你的重写是对的,我在写代码时忘记了更新第二对上的数字。Yes@numLines-应该知道要写入的行数(在运行时计算或硬编码)。请参阅更新的答案。您应该阅读一些有关MATLAB项目结构的内容(例如,如何使用多个
.m
文件)。祝你好运目前,我一直在玩代码,但它似乎一直在覆盖代码。。。有没有办法做到这一点?它似乎将输出乘以与numLine>相同的行数。请参阅关于“确保数据可用”的注释?它假设
name
Radiobutton
的内容在每次迭代中都会以某种方式更新。如果这些是向量,您可以使用例如
name{ind1}
等来访问它们。我使用转换为
xlswrite
的Excel表示法,我建议您使用。很抱歉回复太晚,我尝试使用您的代码进行测试,但出现了一些错误。我该如何申报Numline?它是一个数字,就像它将占用的行数一样吗?当我为numLines输入一个数字时,我得到了以下错误:对于类型为“double”的输入参数,未定义函数“GenerateExcelA1”。从我读代码的方式来看,Radiobutton的数据不是要取代主观性数据吗?我是新来的,所以我对你的编码不太了解抱歉>@user4514279-你的重写是对的,我在写代码时忘记了更新第二对上的数字。Yes@numLines-应该知道要写入的行数(在运行时计算或硬编码)。请参阅更新的答案。您应该阅读一些有关MATLAB项目结构的内容(例如,如何使用多个
.m
文件)。祝你好运目前,我一直在玩代码,但它似乎一直在覆盖代码。。。有没有办法做到这一点?它似乎将输出乘以与numLine>相同的行数。请参阅关于“确保数据可用”的注释?它假设
name
Radiobutton
的内容在每次迭代中都会以某种方式更新。如果这些是向量,您可以使用例如
name{ind1}
等访问它们。