Matlab:将 .mat 文件中的数据附加到 excel 工作表中的指定范围
Matlab: Appending data from .mat files to specified ranges in excel sheets
我在matlab中有一堆.mat文件,保存为A1.mat、A2.mat、A3.mat等。.mat文件是包含数字的矩阵。
我正在尝试将每个 .mat 文件中的数据附加到已经存在的 excel 文件(A1.xlsx、A2.xls、A3.xls),其中 .mat 数据应该放在在excelsheet的一定范围内。
我需要将 .mat 数据放在 B2:F10 范围内,因为我在第一行 A1:F1 和第一列 A1:A10 中预定义了 headers。
我在 G2:G10 列的 excel sheet 中也有一些预定义方程,我想在其中对添加的 .mat 数据进行一些计算。
我有 .mat 数据直到 A60(因此 excel 文件直到 A60.xls)所以希望这可以在一个循环中完成。
我已经尝试过 dlmwrite '-append' 但它不会让我指定 excel 范围,也不会在 excel sheet 中保留预定义的公式。
有人知道如何执行此操作吗?
非常感谢所有帮助!
干杯
您可以使用 csvwrite()
或 writetable()
或 xlswrite()
.
而不是使用 dlmwrite()
但是,您应该注意以下几点:
csvwrite()
仅适用于 .csv 文件,因此您应该将 .xls 转换为 .csv(这可以使用 Excel 本身来完成)
- 与
writetable()
您必须将矩阵转换为 table(mat2cell()
和 cell2table()
的组合)
无论如何,所有这些都允许您指定一个 row/column 偏移量来写入您的数据:
- 在
csvwrite()
中可以使用第三个和第四个输入参数指定此类偏移量
- 在
writetable()
你必须指定 Range
Name/Value
- 在
xlswrite()
中,第三个输入参数是一个字符串,您可以在其中指定要写入的 excel 单元格范围(例如 'A1:A10'
)
可以在各自的帮助页面上找到更多信息:
帮助写作table here
csvwrite 的帮助 here
xlswrite 的帮助 here
我在matlab中有一堆.mat文件,保存为A1.mat、A2.mat、A3.mat等。.mat文件是包含数字的矩阵。 我正在尝试将每个 .mat 文件中的数据附加到已经存在的 excel 文件(A1.xlsx、A2.xls、A3.xls),其中 .mat 数据应该放在在excelsheet的一定范围内。 我需要将 .mat 数据放在 B2:F10 范围内,因为我在第一行 A1:F1 和第一列 A1:A10 中预定义了 headers。 我在 G2:G10 列的 excel sheet 中也有一些预定义方程,我想在其中对添加的 .mat 数据进行一些计算。
我有 .mat 数据直到 A60(因此 excel 文件直到 A60.xls)所以希望这可以在一个循环中完成。
我已经尝试过 dlmwrite '-append' 但它不会让我指定 excel 范围,也不会在 excel sheet 中保留预定义的公式。
有人知道如何执行此操作吗?
非常感谢所有帮助!
干杯
您可以使用 csvwrite()
或 writetable()
或 xlswrite()
.
而不是使用 dlmwrite()
但是,您应该注意以下几点:
csvwrite()
仅适用于 .csv 文件,因此您应该将 .xls 转换为 .csv(这可以使用 Excel 本身来完成)- 与
writetable()
您必须将矩阵转换为 table(mat2cell()
和cell2table()
的组合)
无论如何,所有这些都允许您指定一个 row/column 偏移量来写入您的数据:
- 在
csvwrite()
中可以使用第三个和第四个输入参数指定此类偏移量 - 在
writetable()
你必须指定Range
Name/Value - 在
xlswrite()
中,第三个输入参数是一个字符串,您可以在其中指定要写入的 excel 单元格范围(例如'A1:A10'
)
可以在各自的帮助页面上找到更多信息:
帮助写作table here
csvwrite 的帮助 here
xlswrite 的帮助 here