Inaccurate results when writing xls through writetable

4 visualizzazioni (ultimi 30 giorni)
Hello everyone.
I am using Matlab R2021b. I write then save .xls files from a table using writetable. After saving, I write again on the same file but without deleting the older version first. If I do so, I get strange results in some cases, e.g., the last cell gets duplicated, some characters are added to some cells. If I delete the older version before saving the new one, I have no issues. Is this a known issue?
  2 Commenti
Image Analyst
Image Analyst il 21 Mag 2022
I've never noticed that. You're writing the very same array both times, right? Not a smaller one the second time, which would leave the existing cells that don't get written over? You're specifying the upper left cell the same both times, right, like 'A1'? Can you attach your data in a .mat file and attach the code that demonstrates what you think is the problem? Can you download the latest version (R2022a) and try it there also?
Yazan
Yazan il 21 Mag 2022
You guessed it. I was not setting "WriteMode" to "overwritesheet". Thank you.

Accedi per commentare.

Risposta accettata

Voss
Voss il 21 Mag 2022
From the documentation for writetable:
  • If filename is the name of an existing spreadsheet file, then the writing function writes the data to the specified location, but does not overwrite any values outside the range of the input data.
Does that explain the behavior you are seeing?
  1 Commento
Yazan
Yazan il 21 Mag 2022
It does indeed. Rechecked the documentation: the default value of "WriteMode" is "inplace" for xls, and not "overwritesheet", as I was assuming. Apparently, I was overwriting an existing table with one of one less row, which caused the impression that the last cell was getting duplicated. Appreciate the help.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by