【问题标题】:Exporting data to excel in matlab在matlab中导出数据到excel
【发布时间】:2020-10-09 15:32:00
【问题描述】:

您好我正在尝试将结果导出到循环中通过 fprintf 获得的 Excel,我不知道我是使用 xlswrite 还是 fopen 这是代码

names=["Carlos",'Sara','Sinead','Kai','Ali','Chen','Julia','Tom'];
marks= [23,45,67,90,45,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上

【问题讨论】:

  • 您可能想查看writetablewritematrixxlswrite 已弃用,逐行打印到文件看起来很麻烦。
  • 我已经检查过了,但我只是不知道如何在这里应用它

标签: excel matlab printf fopen


【解决方案1】:

将数据作为表格导出到 Excel 文件

我使用数组将Results 记录在一个数组中。在评估每个标记的结果后,我然后使用table() 函数通过输入要导出的选定数组来创建一个表。最后,使用函数writetable() 可以将表格导出到.xlsx Excel 文件。如果您想追加到现有的 excel 文件,您可能需要使用替代函数来打开它。

Names =["Carlos",'Sara','Sinead','Kai','Ali','Chen','Julia','Tom']';
Marks = [23,45,67,90,45,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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 2019-05-13
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多