How to delete default excel sheets when using writetable function (mac)?
26 views (last 30 days)
Show older comments
Kaden Shearer
on 13 May 2019
Commented: Sean de Wolski
on 25 Mar 2020
When using the writetable function to add several different sheets, excel generates default (blank) excel sheets at the beginning of the document. I currently am working off a mac computer and thus cannot use the actxserver solutions described in other posts.
writetable(T,filename,'sheet','sheet_name');
1 Comment
Veronique Lago
on 11 Sep 2019
I found a way around it. Create a template Excel sheet with the sheets you want and the name you want, but empty sheets. In your code, before using writetable, use copyfile to copy your template with the name of the file you want to create. Then, when you use writetable, it opens the sheets with sheets with the name you give from this template and fills it in.
Accepted Answer
Walter Roberson
on 14 May 2019
Mathworks does not offer any way to do this.
This question was recently explored in the context of someone who was providing sheet names, and was ending up with 3 extra sheets with default names. Someone (dbp I think it was) indicated that when Excel is asked to create a workbook, that it automatically adds the first sheet, and so for compatibility with Excel the first useless sheet is generated. We did not, however, see any good reason for the code to automatically generate sheet2 and sheet3.
2 Comments
More Answers (1)
Sean de Wolski
on 16 Sep 2019
Starting in R2019b, specifying the sheet will cause "Sheet"+(1:3) to not be created. This is a new feature of 19b.
writetable(t, 'foo.xlsx', 'Sheet', 'T')
Will only have a sheet, "T".
2 Comments
Lucie S.
on 25 Mar 2020
Edited: Lucie S.
on 25 Mar 2020
As I see there are some changes in R2019b with the Writetable fonction, I take the opurtunity to ask you a question. I have an issue starting with that new Matlab version. I use writetable to copy a table in a template excel file which has different background colors. Before R2019b, I was keeping colors in the template file after using the function. Now I get some white background columns in my template file after using the function. Any idea how to avoid this? I have different types of data that I can't change in my table. The cell data type might be the one used when I get those white background (I will have to check in detail, this is a very complex program).
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!