Inaccurate results when writing xls through writetable

3 次查看(过去 30 天)
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 个评论
Image Analyst
Image Analyst 2022-5-21
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 2022-5-21
You guessed it. I was not setting "WriteMode" to "overwritesheet". Thank you.

请先登录,再进行评论。

采纳的回答

Voss
Voss 2022-5-21
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 个评论
Yazan
Yazan 2022-5-21
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.

请先登录,再进行评论。

更多回答(0 个)

标签

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by