我在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工作表中保留预定义的公式。
有没有人知道如何做到这一点?
非常感谢所有人的帮助!
干杯
答案 0 :(得分:0)
您可以使用dlmwrite()
或csvwrite()
或writetable()
来代替使用xlswrite()
。
但是,您应该注意以下事项:
csvwrite()
仅适用于.csv文件,因此您应该将.xls转换为.csv(这可以使用Excel本身完成)writetable()
您必须在表格中转换矩阵(mat2cell()
然后cell2table()
的组合)无论如何,所有这些都允许您指定行/列偏移量来写入数据:
csvwrite()
中可以使用第3和第4个输入参数writetable()
中,您必须指定Range
名称/值xlswrite()
第三个输入参数是一个字符串,您可以在其中指定要写入的Excel单元格范围(例如'A1:A10'
)