Matlab:将.mat文件中的数据附加到Excel工作表

时间:2016-03-09 20:42:53

标签: excel matlab append

我在matlab中有一堆.mat文件,它们已保存为A1.mat,A2.mat,A3.mat等.mat文件是包含数字的矩阵。 我正在尝试将每个.mat文件中的数据附加到已存在的excel文件(A1.xlsx,A2.xls,A3.xls),其中.mat数据应放在Excel工作表的某个范围内。 我需要将.mat数据放在B2:F10范围内,因为我在第一行A1:F1和第一列A1:A10中预定义了标题。 我在列G2:G10的excel表中也有一些预定义的公式,我想对添加的.mat数据进行一些计算。

我有.mat数据直到A60(因此excel文件直到A60.xls)所以希望这可以在一个循环中完成。

我已经尝试过dlmwrite'-append',但它不会让我指定excel范围,也不会在Excel工作表中保留预定义的公式。

有没有人知道如何做到这一点?

非常感谢所有人的帮助!

干杯

1 个答案:

答案 0 :(得分:0)

您可以使用dlmwrite()csvwrite()writetable()来代替使用xlswrite()。 但是,您应该注意以下事项:

  • csvwrite()仅适用于.csv文件,因此您应该将.xls转换为.csv(这可以使用Excel本身完成)
  • writetable()您必须在表格中转换矩阵(mat2cell()然后cell2table()的组合)

无论如何,所有这些都允许您指定行/列偏移量来写入数据:

  • csvwrite()中可以使用第3和第4个输入参数
  • 指定此类偏移
  • writetable()中,您必须指定Range名称/值
  • {li> in xlswrite()第三个输入参数是一个字符串,您可以在其中指定要写入的Excel单元格范围(例如'A1:A10'

可在各自的帮助页面找到更多信息:
帮助可写here
帮助csvwrite here
帮助xlswrite here