Azzera filtri
Azzera filtri

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

51 visualizzazioni (ultimi 30 giorni)
Moh. Saadat
Moh. Saadat il 5 Apr 2020
Modificato: Marcel il 30 Nov 2022
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 Commenti
Brian Bean
Brian Bean il 20 Nov 2021
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 il 21 Nov 2021
If I recall correctly, with new enough versions of MATLAB, if you use writecell() then it will not change the format of existing cells.

Accedi per commentare.

Risposte (2)

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

Marcel
Marcel il 18 Nov 2022
Modificato: Marcel il 30 Nov 2022
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