问题描述
您好,我试图在循环中将结果通过fprintf导出到Excel,我不知道是要使用xlswrite还是fopen,这是代码
names=["Carlos",'Sara','Sinead','Kai','Ali','Chen','Julia','Tom'];
marks= [23,45,67,90,61,14,84];
fprintf('Names \t Marks \t Result \n');
for i = 1:length(marks)
if marks(i) < 39
result = ("Fail");
elseif marks(i) < 69
result = ("Pass");
else
result = ("distinction");
end
fprintf('%s \t %d \t %s\n',names(i),marks(i),result);
end
所以我想要fprintf('%s \ t%d \ t%s \ n',names(i),marks(i),result);在excel上
解决方法
将数据作为表格导出到Excel文件
我使用了一个数组将Results
记录在一个数组中。在评估了每个标记的结果之后,我通过输入要导出的所选数组,使用table()
函数创建了一个表。最后,使用函数writetable()
可以将表导出到.xlsx
Excel文件中。如果您想附加到现有的excel文件,则可能必须使用其他功能将其打开。
Names =["Carlos",'Sara','Sinead','Kai','Ali','Chen','Julia','Tom']';
Marks = [23,45,67,90,61,14,84]';
Results = strings(length(Names),1);
fprintf('Names \t Marks \t Result \n');
for i = 1:length(Marks)
if Marks(i) < 39
Results(i) = ("Fail");
elseif Marks(i) < 69
Results(i) = ("Pass");
else
Results(i) = ("Distinction");
end
fprintf('%s \t %d \t %s\n',Names(i),Marks(i),Results(i));
end
Report_Table = table(Names,Marks,Results);
File_Name = 'Report_Table.xlsx';
writetable(Report_Table,File_Name,'Sheet',1);