append (a row) to the end of an excel sheet

39 次查看(过去 30 天)
Hi,
I would like to know if there is any way to simply append to the next available row in an existing excel sheet. I know I can do the append with the writematrix function by specifying the 'Range' property.
writematrix(matrix_to_add, filename, 'Range', 'A1:D20'); %% this adds the matrix_to_add variable in the specified block
However, I do not wish to explicitly specify the range. The rows being added are quite long: 1000 elements. Hence, specifying range will be inconvenient. Thus, the solution I am looking for will simply add the row to the 51st row in the excel sheet if there are already 50 rows in the sheet.
Thanks!
  3 个评论
Brian Bean
Brian Bean 2021-11-20
Is there a way to do the same thing, without altering the column width or any previous rows. When I have merged cells in row 1, use writemateix, row 1 cells becomes unmerged. Thanks!
Walter Roberson
Walter Roberson 2021-11-21
If I recall correctly, with new enough versions of MATLAB, if you use writecell() then it will not change the format of existing cells.

请先登录,再进行评论。

回答(2 个)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021-11-21
This is how you can get it:
FName = 'DATA.xlsx';
for ii=1:5
writematrix(magic(3), FN, 'WriteMode','append')
end

Marcel
Marcel 2022-11-18
编辑:Marcel 2022-11-30
This is how im appending text to a xls file. cellstr("Test") would be your data
writecell(cellstr("Test"), "file.xls", 'WriteMode','append');

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by